【发布时间】:2011-03-07 01:17:25
【问题描述】:
我有一个使用 CCSpriteBatchNode 设置的英雄角色,其中包含所有动画和帧。但我想知道,当英雄被击中时如何显示一个框架(我已经设置了碰撞检测)。我该如何做到这一点?我把它放在 CCSpriteBatchNode 里面吗?这不是搬家的一部分,仅适用于特殊场合。
【问题讨论】:
标签: iphone animation cocos2d-iphone collision-detection frame
我有一个使用 CCSpriteBatchNode 设置的英雄角色,其中包含所有动画和帧。但我想知道,当英雄被击中时如何显示一个框架(我已经设置了碰撞检测)。我该如何做到这一点?我把它放在 CCSpriteBatchNode 里面吗?这不是搬家的一部分,仅适用于特殊场合。
【问题讨论】:
标签: iphone animation cocos2d-iphone collision-detection frame
你可以设置你的英雄不可见([sprite setVisible: NO])并在英雄的位置显示另一个精灵。
除此之外,你可以将这个精灵保存在你的英雄类对象中,并提供一个方法来在碰撞发生时改变可见的精灵。像这样的
-(void) onCollision
{
[heroMainSprite setVisible:NO];
[heroCollisionSprite setVisible:YES];
}
这样的解决方案还将保留您之前已经完成的所有逻辑。
【讨论】:
当英雄被击中时..改变纹理..
[spr setTextureRect:CGRectMake(startX, startY, width, height)];
它需要与动画的其余部分在同一个批处理节点中..
【讨论】: