cocoscreator笔记

本文分享了CocosCreator游戏开发中的实用技巧,包括节点加载时机、材质动态创建、按钮点击区域优化等内容,适合游戏开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:node的onload函数在被添加到父节点的时候才会触发,因此实例化节点时,应该实例化的时候,再后面才添加到父节点
如:
var child = cc.instantiate(node)
parent.addChild(child)
child do something

var child = cc.instantiate(node)
child.parent = parent
child do something

2: win32工程本地地址:
D:\CocosCreator\resources\cocos2d-x\simulator\win32\

3: 安卓apk的缓存文件地址
/data/data/packagename/files

4: 动态创建材质material
方式一:
var material = cc.Material.getInstantiatedBuiltinMaterial("2d-gray-sprite", this.node) //creator自带的 builtin-2d-gray-sprite
this.node.getComponent(cc.Sprite).setMaterial(0, material)
方式二:
var material = cc.Material.getInstantiatedMaterial(this.otherNode.getComponent(cc.Sprite).sharedMaterials[0], this.node)
this.node.getComponent(cc.Sprite).setMaterial(0, material)
方式三:
var self = this
cc.loader.loadRes(materialPath, cc.Material, function(err, res) {
    var material = cc.Material.getInstantiatedMaterial(res, self.node)
    self.node.getComponent(cc.Sprite).setMaterial(0, material)
})

5: 拷贝节点
var copyNode = cc.instantiate(this.node)

6: 当涉及上一层childNode,onload函数时,设置parent不一定会调用onload函数,此时可以把代码放到start周期函数里处理
var child = cc.instantiate("child")
child.parent = childNode

start() {
  var child = cc.instantiate("child")
  child.parent = childNode
}

7:初始化的操作最好放在start,此时节点下的全部节点的脚本都调用到了onLoad函数,特别是通信机制的内容,在onEnable时不保证节点下面的脚本都能调用到

8:按钮增大点击区域
图片不放在按钮的sprite控件里,而是在按钮添加一个图片的子节点,设置按钮的size大小控制增加触摸区域

9:win32的缓存文件路径 C:/Users/admin/AppData/Local/hyl/

10:win32的本地工程是与android-studio工程同级的目录 proj.win32

11:win32的本地路径和android的本地编译是一样的,都是使用默认的入口main函数,因此调试安卓环境时,可以直接用win32环境直接调试

12: spine换皮

选中spine节点控件后,会有一个生产挂点的按钮,点击后会在节点下面生成各个挂点,可以在挂载节点下面挂上节点,看下效果,如武器

cc.resources.load("prefab/weapon", cc.Prefab, (err, prefab)=>{
    let weapon = cc.instantiate(prefab)
    let attactUtil = this.spineNode.attachUtil
    let atteNode = attactUtil.generateAttachedNodes("gun")[0]
    atteNode.addChild(weapon)
})

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值