2011-03-07 38 views
0

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

回答

0

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

除此之外,你可以在你的英雄类对象中保留这个精灵,并提供一个方法,当碰撞发生时会改变可见精灵。像这样的东西

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

这样的解决方案也将保留您之前完成的所有逻辑。

+0

谢谢安德鲁 – Joethemonkey101 2011-03-07 19:48:30

0

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

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

它需要在作为动画的其余部分同一批节点..

+0

不是我在找什么,但感谢您的回答 – Joethemonkey101 2011-03-07 21:13:25