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

来源:互联网 发布:最全网络金融理财 编辑:程序博客网 时间:2024/04/29 09:04



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 = 1var 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函数内部进行初始化。



0 0
原创粉丝点击