初识cocos creator的一些问题
本文的cocos creator版本为v1.9.0
1.color赋值
cc.Label组件并没有颜色相关的属性,但是Node有color的属性。
//如果4个参数,在ios下有问题
let rgb = [13,225,122]; node.color = new cc.Color(...rgb);
下面是错误的写法:
node.color="rgba(13,225,122,1)" node.color="#ff00000"
2.坐标系
子节点的位置属性(position)默认情况下是相对于父节点的坐标。说道位置属性,其实是当前节点(节点是一个块,选其中的一个点作为基准点:锚点)的锚点的位置(anchor)
所以最终呈现出的位置跟这些因素有关:
1)父子节点的锚点
2)父子节点的位置(position)
3.添加事件无效
如果当前节点的size为0,添加事件是无效的,即使子节点有大小,也不能监测到事件。
4.action回调
runAction方法执行的过程中,我们需要做一些action动作之外的事情,比如改变某个变量的值。
这时候需要用到:cc.callFunc()。他可以像一些动作放在runAction()里实现回调。官方例子:
//声明cc.callFunc var finished = cc.callFunc(function(target, score) { this.score += score; }, this, 100);//动作完成后会给玩家加100分 //调用finished var myAction = cc.sequence(cc.moveBy(1, cc.p(0, 100)), cc.fadeOut(1), finished);
5.音频回调
cc.audioEngine 播放音频,是可以添加播放完的回调的。用 cc.audioEngine.setFinishCallback:
let audioID = cc.audioEngine.play(audio,false,1); cc.audioEngine.setFinishCallback(audioID,()=>{ //播放完 })
6.关于图片
cc.Spirte(精灵)是一个官方提供组件(类比cc.Label)。他有个属性spriteFrame,这个属性的类型是cc.spriteFrame。