Вы можете сделать своего героя невидимым ([sprite setVisible: NO]
) и показать другого спрайта на позиции героя.
Более того, вы можете сохранить этот спрайт в своем объекте класса героя и предоставить метод, который изменит видимый спрайт в случае столкновения.Примерно так
-(void) onCollision
{
[heroMainSprite setVisible:NO];
[heroCollisionSprite setVisible:YES];
}
Такое решение также сохранит всю вашу логику, что было сделано ранее.