2014-05-06 56 views
0

需要有一種方法來「縮放」而不使用SKAction,但它應該模仿對SKNode的更改,如scaleBy:duration:方法所做的那樣。SKAction scaleBy:duration:方法如何工作?

比例因子如何在「scaledBy」節點上變化?

+1

從當前值到當前值的比例值的線性插值+「by」值.. http://en.wikipedia.org/wiki/Linear_interpolation(鏈接使它看起來要複雜得多) – LearnCocos2D

回答

1

我的猜測是,有某種行爲管理的運行自己update:方法(像什麼SKScene有),並更新相應的屬性(在這種情況下xScaleyScale)連接到每個回調操作的節點。

update:方法需要一個NSTimeInterval參數,該參數可用於瞭解沿着動畫走多遠以及何時完成。

EDIT

在cocos2d-x,則CCScaleBy行動是CCScaleTo一個子類。更新方法如下:

void CCScaleTo::update(float time) 
{ 
    setScaleX(m_fStartScaleX + m_fDeltaX * time); 
    setScaleY(m_fStartScaleY + m_fDeltaY * time); 
} 
+0

如果您想查看實現,請查看cocos2d。 –

+0

更新了我的問題,我對比例因子的更改感興趣。 – AndrewShmig

+0

再次檢查一下cocos2d,看看它們是如何處理的。 –