2014-12-25 2 views
0

Я не смог понять это. Я знаю, как заменить кадр спрайта из CCSprite, но я не могу понять, как заменить кадр спрайта, когда мой объект уже является CCNode. Я думаю, что это должно быть возможно, так как я использую Spritebuilder, и есть возможность изменить рамку Sprite на моем CCNode в Spritebuilder, но мне нужно изменить его во время выполнения.Как заменить рамку Sprite в CCNode?

Возможно ли это, или мне нужно переключить все мои CCNodes на CCSprites, когда я хочу изменить кадр спрайта во время выполнения?

(К сожалению, кажется, что я не пытаюсь предложить какое-либо решение или показать свою работу, но я читал через ссылку класса на некоторое время и не добился никакого прогресса)

Спасибо!

+1

вы должны показать свои попытки, хотя. Если вы действительно используете экземпляр CCNode, вы не можете назначить ему кадр спрайта, потому что это не спрайт. Если у вас есть экземпляр CCSprite, но вы получаете только экземпляр CCNode (т. Е. Через getChildWithName :), тогда вам нужно отправить его в CCSprite. – LearnCocos2D

ответ

0

Вполне вероятно, что ваш CCSprite ребенок вашей CCNode

Попробуйте что-то вроде этого:

CCSprite *sprite = yourCCNode.children[0]; 
[sprite setSpriteFrame: newFrame]; 
+0

спасибо, что сработал =) – spaderdabomb