【CocosCreator入門】動畫組件Animation的回調(播放到動畫某一幀時運行代碼)

原文地址:https://www.jianshu.com/p/17c761e45d62

有的時候,我們希望在動畫執行到某一幀的時候,執行某些邏輯。

比如我們製作了人物倒地的動畫,如下:

關於如何製作一個動畫,請參考教程Animation動畫的製作和使用


假設有一個需求是人物倒地時掉血,那麼我們什麼時候顯示掉血的信息呢?

腦海中可能會閃過幾個方案:

一開始播放倒地動畫就展示,像下面這樣?



剛開始播放動畫,就顯示掉血信息                                             

還是等播放完動畫再顯示,像下面這樣?



播放完動畫,之後顯示掉血信息

還是說在動畫播放到某一幀時,顯示掉血信息,比如,當人物的背部剛剛碰到地面的時候,顯示掉血信息。

像這樣:



人物背部接觸地面的那一幀,顯示掉血信息

那麼,通過對比以上方案,你覺得哪一種方案比較合適呢?

我們可以看到,針對本次需求,第三種可能更爲合適

要做到這種效果,我們就需要在動畫播放到指定的幀時,執行邏輯



具體做法:

首先,我們需要製作一個動畫:

關於製作動畫的方法,請參考教程:Animation動畫的製作和使用



剛剛做好的動畫

我們點擊想要執行邏輯的幀,也就是人物剛剛着地的一幀(點擊藍色的菱形),紅色的豎線會移動過來:



紅色豎線的位置,是我們當前選中的幀

點擊左側光標形按鈕,在當前位置插入一個關鍵幀,插入之後會出現一個小白方塊:



插入成功之後,雙擊小白方塊,會彈出如下窗口:



我們在FUNCTION欄中,填入我們想要執行的函數名,隨意填即可。

該函數會在動畫播放到這一幀的時候運行。

我們現在填入showBlood,如下:



填完之後直接關閉此窗口即可。

退出動畫編輯模式,保存動畫,開始編寫代碼。

關鍵代碼如下:



這樣,當動畫播放到剛剛指定的那一幀時,showBlood函數就會作爲回調函數執行了。

感謝閱讀。

喜歡請關注作者微信公衆號(獨立遊戲開發筆記):




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章