在SpriteBuilder,每個對象開始於第0幀使對象出現在幀N和SpriteBuilder不是第0幀
我有一些對象會從天上掉下來,但我想他們的下落動畫(物理與重力)在現場稍後開始,而不是在0.
我可以讓對象存在於特定的框架嗎? (即在對象的第一個關鍵幀之前插入空幀),還是我可以讓對象在特定幀之後將物理重力排隊?
TIA
在SpriteBuilder,每個對象開始於第0幀使對象出現在幀N和SpriteBuilder不是第0幀
我有一些對象會從天上掉下來,但我想他們的下落動畫(物理與重力)在現場稍後開始,而不是在0.
我可以讓對象存在於特定的框架嗎? (即在對象的第一個關鍵幀之前插入空幀),還是我可以讓對象在特定幀之後將物理重力排隊?
TIA
你想要做的事情可以用Spritebuilder和代碼混合來完成。無法在Spritebuilder時間軸中動畫/切換任何物理屬性,但您可以設置自己的回調來實現它。要在時間線中添加回調,您可以在SB時間線中的回調字段中按住alt/option +左鍵並雙擊小方塊來設置選擇器。要隱藏一個對象,直到你想顯示它,你可以添加一個'Visible'關鍵幀:在你想要對象顯示的時候設置光標,然後按'v'。
所以,要做你想做的事情,我會取消選中「項目物理」選項卡中的「受重力影響」複選框。(顯然,這會使對象不會掉下來)然後在某個點可見(如果你已經隱藏它,那是)對象,並作出回調是這樣的:
func toggleGravityCallBack() {
yourObject.physicsBody.affectedByGravity = true
}
希望這有助於
int frameNum = 5;
CCSpriteFrame* theframe = ((CCAnimationFrame*)[animation.frames objectAtIndex:frameNum]).spriteFrame;
CCSprite* newSprite = [CCSprite spriteWithSpriteFrame:theframe];
這產生開始在動畫幀五個新的精靈。
它有幫助,但我發現如何做你正在描述的內容,以及如何獲得代碼中的回調,這是我最後的方法。 – ericosg
對於任何人也在尋找編程回調,他們可以用'CCActionCallBlock'完成。 – ericosg