【发布时间】:2015-05-02 09:11:02
【问题描述】:
我在游戏中使用 cocos2d-x。 我有一些关于 cocos2d-x 创建方法的问题。
当游戏角色需要在更新方法中改变动画时,我总是使用 create() 方法来创建新的 Animation 、 Animate 、 RepeatForever 对象
但我认为这不好,因为如果我创建新的 Animation、Animate、RepeatForever 对象来更改我的游戏角色的动画,如下所示 (下面的代码只是Update方法的一部分)
auto anim = cocos2d::Animation::create();
anim->setDelayPerUnit(0.3);
anim->addSpriteFrameWithFile("./Hero/walk1_0.png");
anim->addSpriteFrameWithFile("./Hero/walk1_1.png");
anim->addSpriteFrameWithFile("./Hero/walk1_2.png");
anim->addSpriteFrameWithFile("./Hero/walk1_3.png");
auto animation = cocos2d::Animate::create(anim);
m_pBasicSprite->runAction(animation);
当游戏角色频繁更换动画时,会导致创建过多的 cocos 对象。那我该怎么办呢?
附言
我使用类成员变量来保存该对象,而不是在更新方法中为每个循环创建新的 cocos 动画对象, 但它会导致错误,错误说“表达式_referenceCount> 0”
p.s2
我很抱歉我糟糕的英语......
【问题讨论】:
标签: cocos2d-x