2014-10-17 32 views
0

我試圖在用戶獲得額外的生命並在1或2秒後將其設置回正常值時縮放精靈。setScale在cocos2d的特定時間Xcode

我有這樣的:

if (_score == 2) 
{ 
    _life = _life + 1; 
    string strLife = StringHelper::ToString(_life); 
    _labelUpperLifeCounter->SetString(strLife); 


    _labelUpperScoreLife->setScale(2.5f); 

} 

它的工作,但我不知道如何設置回:

_labelUpperScoreLife->setScale(1.7f); 

甚至更​​好的動畫2-3次類似的脈衝在它恢復正常之前...

謝謝!

回答

1

我假設在C++中可用。這是我如何做到這一點在obj - c

id scaleUp = [CCActionScaleTo actionWithDuration:.1f scale:2.5f]; 
id pause = [CCActionDelay actionWithDuration : 1.f]; 
id scaleBack = [CCActionScaleTo actionWithDuration:.1f scale:1.7f]; 
id seq = [CCActionSequence actions: scaleUp,pause,scaleBack,nil]; 
[_labelUpperScoreLive runAction:seq]; 

只是一般的想法:)翻譯到C + +是你的專業知識。這會縮放比分,停頓一下,然後將比例返回到初始狀態。

+0

感謝您的快速響應!我會嘗試並回復你! – wolfhawk 2014-10-18 12:23:12

+0

我要在.h文件中聲明scaleUp,暫停,scaleBack和seq作爲花車嗎?我無法讓它工作。它顯示我CCScaleBy和CCScaleTo只.. – wolfhawk 2014-10-18 12:57:06

+0

好的,你使用的是2.x或以前的版本。將工作相同。在任何cocos2d版本中陳述你的版本,這樣你將有更好的機會獲得API正確的答案;)...改變API是科科斯最喜歡的運動。 – YvesLeBorg 2014-10-18 13:16:01

0

最後我發現了另一種方式,因爲我已經失去了太多的時間......

我創造了精靈的副本,並把它放在另一個的上面。我已經縮放並淡化了它...

_labelUpperScoreLife2->setVisible(true); 
    _labelUpperScoreLife2->setScale(3.0f); 
    _labelUpperScoreLife2->runAction(CCFadeOut::create(1)); 

它看起來不錯!

謝謝你的回答!