zoukankan      html  css  js  c++  java
  • cocosCreator-开发记录

    1、默认例子中的text定义为hello(与helloworld.fire文件中一致),修改之后没有更新,变量改名之后正常更新,暂不清楚原因

    @property
    text: string = 'hello';

     2、如何创建一个粒子动效

     ① 使用particle2dx创建一个效果并导出.plist文件

     ② 编辑器=>层级管理器中创建渲染节点=>粒子,particleSystem的file选项选择我们自己创建好的效果(拖过去就行)

     ③ 将上一步创建好的编辑器=>层级管理器的渲染节点拖动到资源文件夹中(resources/xxx)生成prefab预制资源

     ④ 在代码中引用prefab资源创建节点

    // resUrl的路径是相对于resources的,例如assets/resources/prefab/xxx.prefab,则resUrl = 'prefab/xxx',不需要带后缀
    cc.loader.loadRes(resUrl, cc.Prefab, (err: Error, prefab: cc.Prefab) => {
            if (err) {
              return;
            }
            newNode = cc.instantiate(prefab);
            this.setClickNode(newNode, tag, position);
          });

    参考:如何动态创建粒子效果

    3、关于对象池:

    重复利用缓存对象时,回收时需要将一些component中状态清空,避免再次使用时延续了上一次的状态,比如tween动画、碰撞检测框等

    // 停止所有动作,否则再次从对象池中取出会继续未完成动作
    node.stopAllActions()
    // 碰撞组件需要移除,避免一次碰撞触发了多次(只在新建节点时创建一次不生效))
    node.removeComponent(cc.BoxCollider)

    4、关于碰撞检测:

    ① 先开启碰撞检测开关(全局的) 

    // // 开启碰撞检测
    const manager = cc.director.getCollisionManager()
    manager.enabled = true;
    manager.enabledDebugDraw = true;

    ② 两个需要碰撞的节点添加对应的collider组件,并在主动碰撞方添加回调函数

    // 被碰撞方
    const collider = finishLine.addComponent(cc.BoxCollider)
    collider.name = "finishLineCollider"
    collider.size = cc.size(finishLine.width, 2)
    
    // 主动碰撞方
    const collider = node.addComponent(cc.BoxCollider)
        collider.name = `dropItemCollider`
        collider.size = cc.size(node.width, node.height)
        // 这里可能提示collider没有onCollisionEnter的方法,添加到类型定义或者node预先定义的类型为null而不是cc.Node(避免被ts检查器类型追踪)
        collider.onCollisionEnter = (...args) => {
          console.log('peng', args)
          // xxx
    }

     5、发布到微信小游戏

    ①:cocos编辑器内项目=>构建,需要设置输出目录(默认build)、微信开发工具路径等信息

    ②:build目录的代码可以直接放在微信工具里运行,目录结构如下

    开黑吗我亚索贼6
  • 相关阅读:
    js Validate
    JS
    JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari……
    自动搜索 下拉单
    有符号数和无符号数间的比较.
    结构体指针在函数调用中的实例
    如何计算时间复杂度
    指针和引用的比较
    指针参数是如何传递内存的
    fread函数和fwrite函数,read,write
  • 原文地址:https://www.cnblogs.com/insight0912/p/11635752.html
Copyright © 2011-2022 走看看