写了个火箭效果的demo,用帧动画实现。炸弹,飞机的效果同理。其实炸弹可以用粒子实现的!效果应该更好!
void HelloWorld::menuTestCallback(Ref* pSender)
{
log("menuTestCallback");
// 音效
SimpleAudioEngine::getInstance()->playEffect("1_missile.wav");
// 创建一个精灵
Sprite* sprite = Sprite::create("game_trocket-hd.png", Rect(0, 0, 68, 250));
Size visibleSize = Director::getInstance()->getVisibleSize();
sprite->setPosition(Vec2(visibleSize.width / 2, 0));
this->addChild(sprite);
// 火箭效果
Animation* animation = Animation::create();
for (size_t i = 1; i <= 6; i++)
{
SpriteFrame *spriteFrame = SpriteFrame::create("game_trocket-hd.png", Rect(68*(i-1),0,68,250) );
animation->addSpriteFrame(spriteFrame);
}
animation->setDelayPerUnit(0.15f);
animation->setRestoreOriginalFrame(true);
Animate* action = Animate::create(animation);
MoveTo* move = MoveTo::create(0.9, Vec2(visibleSize.width / 2, visibleSize.height));
//注意:move和action是同时执行,执行完以后要销毁
sprite->runAction( Sequence::create(Spawn::create(move, action, NULL), RemoveSelf::create(true), NULL));
}
本文介绍了一个使用帧动画实现的火箭发射效果的示例代码,包括如何创建精灵、设置动画序列及运动路径,并演示了如何播放音效。
263

被折叠的 条评论
为什么被折叠?



