Animate 动画 播放完后如何自动删除

Animate 动画 播放完后如何自动删除

来个人。。。
以前 播放完 动画 后都是自动 删除 的现在还留个影在那里 多难看 啊。。。。
看不懂 配个图毫不.要不动画结束之后animate->isdone remove掉?
就是我把帧动画 全部播放完后。
本应该消失 的,可是 他并没有消失 还留了最后一帧的那张图片在那里。
我也遇到过,怪物死亡之后闪烁3次结果尸体还在.
建议直接遍历然后remove掉.或者是多加载一张全空的图片(不可取)
我也是新手懂得不是很多
播放怪物死亡动作的时候设置个回调函数,然后调用父节点的removeFromParent就可以清除了
我现在 是新建个节点。在新节点上运行,运行完后就删除 。
总感觉 这会浪费 内存= =。
RemoveSelf动作的可以帮到你
播放Animate是用之前设置的一个类似容器性质的Sprite来播放的,你这个问题多半是没有移除这个sprite
如果想移除掉这个Sprite,在runaction的Seq里最后添一个CCRemoveSelf就行了, RemoveSelf效果和设置一个回调
然后在回调里removeFromParent效果一样。
那我知道 了。。。 看来是一定要用个容器(Sprite) 保存着 动画 运行完后就删除 这个容器。 消耗两个 Sprite
我这贴所说 的意思是 我只想 用一个容器 来执行动画 但执行完动画 后就删除 动画 但不删除 该容器。(因为这个容器我还有用。) 消耗一个 Sprite
对了 问个问题 怎么把一张图片剪成圆形 用clipnode 。。。不行。
可以啊
clipnode
我剪半天 。。。还是剪不出我要的效果。。。我要的效果很简单就只要剪成圆形就可以 然后把这个 圆形 加入到一个按钮层中。并不要影响到按钮的显示。
解决了 网上找到了个更好 的
CCSprite * UnivCoreTest::maskedSprite(CCSprite *textureSprite)
{
CCSprite * maskSprite = CCSprite::create(“circle_mask.png”); //根据这张图片的形状剪。
CCRenderTexture * renderTexture = CCRenderTexture::create(maskSprite->getContentSize().width, maskSprite->getContentSize().height);
maskSprite->setPosition(ccp(maskSprite->getContentSize().width / 2, maskSprite->getContentSize().height / 2));
textureSprite->setPosition(ccp(textureSprite->getContentSize().width / 2, textureSprite->getContentSize().height / 2));
maskSprite->setBlendFunc((ccBlendFunc){GL_ONE, GL_ZERO});
textureSprite->setBlendFunc((ccBlendFunc){GL_DST_ALPHA, GL_ZERO});
renderTexture->begin();
maskSprite->visit();
textureSprite->visit();
renderTexture->end();
CCSprite * retval = CCSprite::createWithTexture(renderTexture->getSprite()->getTexture());
retval->setFlipY(true);
return retval;
}