检测到碰撞时显示框架(cocos2d iPhone)

时间:2011-03-07 01:17:25

标签: iphone animation cocos2d-iphone collision-detection frame

我有一个英雄角色都设置了CCSpriteBatchNode,它具有所有动画和帧。但是我想知道,当英雄被击中时我如何显示一个框架(我已经设置了碰撞检测)。我该如何实现这一目标?我把它放在CCSpriteBatchNode中吗?它不是移动的一部分,只适用于特殊场合。

2 个答案:

答案 0 :(得分:0)

当英雄被击中时..改变纹理..

[spr setTextureRect:CGRectMake(startX, startY, width, height)];

它需要与动画的其余部分位于同一个批处理节点中。

答案 1 :(得分:0)

你可以设置你的英雄不可见([sprite setVisible: NO])并在英雄的位置显示另一个精灵。

然后,你可以将这个精灵保存在你的英雄类对象中,并提供一个方法,在碰撞发生时改变可见的精灵。像这样的东西

-(void) onCollision
{
    [heroMainSprite setVisible:NO];
    [heroCollisionSprite setVisible:YES];
}

此类解决方案还将保留您之前完成的所有逻辑。