需要有一種方法來「縮放」而不使用SKAction,但它應該模仿對SKNode的更改,如scaleBy:duration:
方法所做的那樣。SKAction scaleBy:duration:方法如何工作?
比例因子如何在「scaledBy」節點上變化?
需要有一種方法來「縮放」而不使用SKAction,但它應該模仿對SKNode的更改,如scaleBy:duration:
方法所做的那樣。SKAction scaleBy:duration:方法如何工作?
比例因子如何在「scaledBy」節點上變化?
我的猜測是,有某種行爲管理的運行自己update:
方法(像什麼SKScene
有),並更新相應的屬性(在這種情況下xScale
和yScale
)連接到每個回調操作的節點。
update:
方法需要一個NSTimeInterval
參數,該參數可用於瞭解沿着動畫走多遠以及何時完成。
EDIT
在cocos2d-x,則CCScaleBy
行動是CCScaleTo
一個子類。更新方法如下:
void CCScaleTo::update(float time)
{
setScaleX(m_fStartScaleX + m_fDeltaX * time);
setScaleY(m_fStartScaleY + m_fDeltaY * time);
}
從當前值到當前值的比例值的線性插值+「by」值.. http://en.wikipedia.org/wiki/Linear_interpolation(鏈接使它看起來要複雜得多) – LearnCocos2D