cocos2d-x中,多个精灵执行同样的动作
来源:互联网 发布:二手进口电动工具淘宝 编辑:程序博客网 时间:2024/05/16 19:22
简而言之:虽然是“同样”(从效果来说)的动作,但是每个精灵必须run不同的action对象
例如:需要三个精灵同时跑到一个点去,使用动作来完成。
//创建3个精灵 auto s1 = Sprite::create("CloseNormal.png"); auto s2 = Sprite::create("CloseNormal.png"); auto s3 = Sprite::create("CloseNormal.png"); //设置位置在屏幕左边1/4处,分上中下来放 s1->setPosition(Vec2(visibleSize.width * 0.25, visibleSize.height * 0.75)); s2->setPosition(Vec2(visibleSize.width * 0.25, visibleSize.height * 0.5)); s3->setPosition(Vec2(visibleSize.width * 0.25, visibleSize.height * 0.25)); //添加到层中显示 this->addChild(s1); this->addChild(s2); this->addChild(s3); //创建动作,移动到屏幕右边3/4处的中心位置 auto action = MoveTo::create(3, Vec2(visibleSize.width * 0.75, visibleSize.height * 0.5)); //三个精灵执行这个动作 s1->runAction(action); s2->runAction(action); s3->runAction(action);结果:只有s3跑到目的地,s1和s2都没动。
如图:
开始时:
运动结束:
因为三个精灵使用了同一个action对象。下面来修改一下,给每个精灵创建一个对象。
<pre name="code" class="cpp">//创建3个精灵 auto s1 = Sprite::create("CloseNormal.png"); auto s2 = Sprite::create("CloseNormal.png"); auto s3 = Sprite::create("CloseNormal.png"); //设置位置在屏幕左边1/4处,分上中下来放 s1->setPosition(Vec2(visibleSize.width * 0.25, visibleSize.height * 0.75)); s2->setPosition(Vec2(visibleSize.width * 0.25, visibleSize.height * 0.5)); s3->setPosition(Vec2(visibleSize.width * 0.25, visibleSize.height * 0.25)); //添加到层中显示 this->addChild(s1); this->addChild(s2); this->addChild(s3); //创建动作,移动到屏幕右边3/4处的中心位置 auto action1 = MoveTo::create(3, Vec2(visibleSize.width * 0.75, visibleSize.height * 0.5)); auto action2 = MoveTo::create(3, Vec2(visibleSize.width * 0.75, visibleSize.height * 0.5)); auto action3 = MoveTo::create(3, Vec2(visibleSize.width * 0.75, visibleSize.height * 0.5)); //三个精灵执行这个动作 s1->runAction(action1); s2->runAction(action2); s3->runAction(action3);开始的图和之前一样,结果如图(三个精灵都到达目的地):
0 0
- cocos2d-x中,多个精灵执行同样的动作
- cocos2d-x精灵的动作
- cocos2d-x精灵动作不执行解决方法
- Cocos2d-X 精灵、动作效果
- Cocos2d-X 精灵、动作效果
- Cocos2d-X 精灵、动作效果
- cocos2dx 多个精灵执行同一个动作
- cocos2d中精灵的各类动作
- 精灵的执行动作
- cocos2d-x精灵切换动作出错
- cocos2d-x中精灵的应用
- cocos2d-x中精灵的使用
- cocos2d-x中精灵的属性
- cocos2dx多个精灵调用runAction()方法执行组合动作,只有最后一个精灵有效的问题
- Cocos2d-X的精灵
- Cocos2d-x中动作类的扩展
- cocos2d-x中精灵移动
- cocos2dx中精灵的动作
- java实现Telnet连接
- 读取application/binary 是什么类型的文件
- 在 Linux 中使用日志来排错
- Objective-C入门08:可变数组
- sql语句占用内存查询
- cocos2d-x中,多个精灵执行同样的动作
- Raid 5 技术工作原理
- 递归实现快速排序
- iOS中NSFileManager的简单用法
- scala学习笔记(九) 特质
- Java编写简单三角形与菱形
- [Asp.net]Uploadify上传大文件
- yarn & mapreduce 配置参数总结
- virtual