Cocos2dx精灵的动作与帧动画同时执行的方法
程序员文章站
2024-03-25 20:08:10
...
Cocos2dx精灵的动作与帧动画同时执行的方法
这个问题卡了我四五天,烦死了!关于Cocos2dx中让精灵的动作与帧动画同时执行的方法:
1 .一提到同时我就想到了spawn并列动作去实现
sprite->runAction(Spawn::create(MoveBy::create(1.2f, Vec2(50, 0)), animate, NULL));
结果是这样根本行不通!运行后会卡住然后报错
2.接着我查了一下,说用两个runAction可以解决问题,上代码
sprite->runAction(MoveBy::create(1.2f, Vec2(50, 0)));
sprite->runAction(animate);
然后我去试了试,写在init函数里面确实没啥问题,但是要是用菜单项(按钮)或者虚拟轮盘控制就又不行了
3.接下来!重点来了!打记要考!
第四天我在洗澡的时候(就是在洗澡的时候)想,我为什么不能把它们用一个函数实现呢?然后我尝试,并且问题迎刃而解,然后成就感满满。
在.h文件里面写一个函数,在.cpp文件里面实现它,这里注意的是Animation的代码也要写到函数里面去,Animate也写到函数里,再用就没有问题了~
void HelloWorld::Animation_d(Direction dir)
{
Sprite* lufei1Sprite = Sprite::create("lufei/lufei3.png", Rect(153, 17, 37, 65));
Sprite* lufei2Sprite = Sprite::create("lufei/lufei3.png", Rect(193, 17, 50, 65));
Sprite* lufei3Sprite = Sprite::create("lufei/lufei3.png", Rect(250, 17, 60, 65));
Sprite* lufei4Sprite = Sprite::create("lufei/lufei3.png", Rect(315, 17, 47, 65));
Sprite* lufei5Sprite = Sprite::create("lufei/lufei3.png", Rect(368, 17, 40, 65));
Sprite* lufei6Sprite = Sprite::create("lufei/lufei3.png", Rect(409, 17, 51, 65));
Sprite* lufei7Sprite = Sprite::create("lufei/lufei3.png", Rect(467, 17, 56, 65));
Sprite* lufei8Sprite = Sprite::create("lufei/lufei3.png", Rect(533, 17, 46, 65));
上一篇: mysql的安装教程
下一篇: Cocos2dx 帧动画创建精灵