android - 完成Animation后如何删除精灵?

我使用ccanimation类对多个ccsprite使用动画。我想要的是:
“动画完成后移除精灵”
如果有人在做这个,请告诉我。我该怎么办。


最佳答案:

我知道pktangyue的解决方案是有效的,但是我想添加一个新的答案,因为cocos2d-x v3.x中不推荐使用这个方法。请阅读最后一个方法,这样做更容易

Node *nodeSprite =(Node*)layer->getChildByName("BFL_Ready_Label");
MoveTo* animation = MoveTo::create(1.0f,Point(Director::getInstance()->getWinSize().width/2,Director::getInstance()->getWinSize().height*1.5));
CallFunc* animationDone = CallFunc::create(bind(&Node::removeFromParent,nodeSprite));
Sequence* sequence = Sequence::create(animation,animation,NULL);
node->runAction(Sequence);

就像前面用雪碧回答的那样。
MoveTo* animation = MoveTo::create(1.0f,Point(Director::getInstance()->getWinSize().width/2,Director::getInstance()->getWinSize().height*1.5));
CallFunc::create(bind(&Sprite::removeFromParent,m_sprite));
Sequence* sequence = Sequence::create(animation,animation,NULL);
m_sprite->runAction(sequence);

使用这个编译器不会告诉您正在使用不推荐的方法。我希望这会有用。
我更新这个答案是因为有一个简单的方法
创建序列时,只需添加removeself::create removeself,这是一个操作,因此您可以将其添加到序列中,它将在动画完成后销毁精灵或节点。
Sequence* sequence = Sequence::create(animation,animation,RemoveSelf::Create(),NULL);

这是在
动画完成了这在粒子中非常有用

译文:来源   文章分类: android cocos2d-iphone cocos2d-x cocos2d-android

相关文章:

android - 在Android ICS中插入日历项目

android - SparseArray remove()和delete()有什么区别?

android - 在xml上使用android前缀(android:,app:,@ ..,...)

android - 如何从Firebase任务<AuthResult>登录失败中检索错误代码?

android - Xamarin / Android-java.lang.reflect.InvocationTargetException

android - Intellij中的AVD管理器已禁用

android - 如何将Google徽标移动到透明的操作栏上方,例如Google Maps App? Android的

android - 通过WhatsApp发送消息

android - 远程站点的图片库-Android

php - 如何在PHP中构建一个Android推送通知服务器