初识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。

原文地址:https://www.cnblogs.com/xiaochongchong/p/9183253.html