标签:
精灵使用Blink 执行完动作之后,消失不见了,原因是有可能出现精灵刚好到透明的那部分,所以最好在精灵执行完动作之后,让精灵setvisible显示出来。
解决方式:
格式1
Blink * hurt = Blink::create(0.5, 5);
写一个回调函数,等到执行完Blink 动作后调用这个回调函数
CallFunc *call2 = CallFunc::create([this](){
this->setVisible(true);
});
this->runAction(Sequence::create(hurt,call2, NULL));
格式2
void Hero::afterHurt()//英雄闪烁之后有可能不见了,这里把它重新显示出来
{
this->setVisible(true);
}
//使用Blink之后必须等精灵执行完之后,强制设置精灵的可视值为true才能显示,否则有可能出现空白
Blink * hurt = Blink::create(0.5, 5);
FiniteTimeAction* action1 = CCSequence::create(hurt ,CallFunc::create(this , callfunc_selector(Hero::afterHurt)) , NULL);
this->runAction(action1);
关于Cocos2d-x中使用完Blink动作后精灵突然消失的问题的解决
标签:
原文地址:http://www.cnblogs.com/HangZhe/p/5777603.html