cocos2d-js 使用过程中遇到的问题总结



1, 使用Cocostudio中的动画时,

node.runAction(action);    //1

action.play("lable", true)   //2  

如果第一句已经执行过了,下次再使用action.play播放其它动画时,就不能再执行runActioin了。




下面是Cocostudio使用过程中遇到的问题。

1, 在2.3.2版本中新追加的sprite,在动画中不能修改visible属性。 即不能不会儿让sprite显示,一会儿消失。

不知道为什么之前的版本可以实现这个功能,目前的版本不能实现了。

修改方法是直接个性csd文件。

在<Animation>节点下追加下面的节点,然后重新打开csd文件。

        <Timeline ActionTag="-1976170523" Property="VisibleForFrame">
          <BoolFrame FrameIndex="0" Tween="False" Value="False" />
          <BoolFrame FrameIndex="1" Tween="False" Value="True" />
        </Timeline>
ActionTag,根据sprite的名称,从AbstractNodeData中找到,如果想个性anchpoint可以追加。

        <Timeline ActionTag="-503367939" Property="AnchorPoint">
          <ScaleFrame FrameIndex="17" X="0.4987" Y="0.5024">
            <EasingData Type="0" />
          </ScaleFrame>
          <ScaleFrame FrameIndex="21" X="0.5000" Y="0.5008">
            <EasingData Type="0" />
          </ScaleFrame>
        </Timeline>

3, 使用cc.Class.exten的注意事项。

var Car = cc.Class.extend({
	array:[],  //NG, 1.
	ctor: function(){
		this.array = [];  // OK  2
	},
	addElement: function(item){
		array.push(item);
	}
});

var car1 = new Car();
car1.addElement();
cc.log(car1.array.length);  // length = 1
var car2 = new Car();
car2.addElement();
cc.log(car2.array.length);  // <span style="font-family: Arial, Helvetica, sans-serif;">length = 2</span>


在1处初始化array的话,使用new object的时候,新的object仍然使用array的引用而不是生成新的array.

所以应该在ctor函数内部进行初始化。



你可能感兴趣的:(cocos2d-js 使用过程中遇到的问题总结)