您好,登錄后才能下訂單哦!
最近參與的一個項目中,我負責自動回合制戰斗場景設計,其中人物的動作基本上采用的都是幀動畫,基本設計思路是這樣的,首先為場景中的角色一一分配站位,其次為每個角色綁定一個站立的幀動畫,由于每個人的站立時間是無法確定的,因此我也就簡單明了的為它們綁定了一個永動型的站立動作,至角色動作需要改變時,如輪至某角色***時,首先stop該角色原先綁定的永動型站立動作,然后給他綁定一個移動+***+返回等的一個動作序列,序列結束后,通過回調動作,重新為該角色綁定上永動型的站立動作,使其還原到之前的狀態,理論上這個過程是能夠實現的,但寫好代碼,編譯運行之后,卻發現沒有得到自己想要的效果,***序列完成之后重新綁定的永動型站立幀動畫似乎完全沒有執行,造成了人物***一次之后,從此失去站立幀動作的尷尬局面。之后也查看了一些列的API,嘗試了一些列的其他方法,stopAllActions、pasuAction、pasuAllActions等,甚至直接remove掉之前綁定的永動型站立,但局面依然保持尷尬。。。好吧,就這樣個把小時也就過去了,問題沒解決,之前許多沒用過的方法,倒是都讓我給熟悉了一遍,好吧,想想也不虧。
在永動型上遇到瓶頸后,我又回頭仔細想了想,是不是必須采用永動型的站立呢,。。。事實證明:不用,雖然說場景中有多個角色,什么時候輪到某角色***是無法確定的,但這個時間也不是無限的,他其實也就在一個時間范圍之內,只要我們保證給角色綁定的站立動作能保持到一個回合(同一個角色兩次***之間的間隔)之上就可以了。想明白之后我決定用有限次重復型代替原來使用的永動型,雖然覺得這兩貨應該是差不多的,成功希望不大,但只要有一絲希望,還是值得去嘗試一番的,抱著這種心態,我仔仔細細的修改了一遍代碼,確保沒有落下其他閑雜問題阻擋路線后,啟動了調試。。。好吧,不得不承認,cocos2d-x總是能給人們帶來無法意料的結果!
目前對于cocos2d-x引擎內部機制還是不太了解,對于永動型幀動畫被stop后,之后再次綁定時就失效了的問題,不知道是引擎本身所存在的bug,還是自己操作不對,歡迎遇到同類問題的朋友能加入一起討論!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。