原文地址:https://www.jianshu.com/p/17c761e45d62
有的時候,我們希望在動畫執行到某一幀的時候,執行某些邏輯。
比如我們製作了人物倒地的動畫,如下:
關於如何製作一個動畫,請參考教程:Animation動畫的製作和使用
假設有一個需求是人物倒地時掉血,那麼我們什麼時候顯示掉血的信息呢?
腦海中可能會閃過幾個方案:
一開始播放倒地動畫就展示,像下面這樣?
還是等播放完動畫再顯示,像下面這樣?
還是說在動畫播放到某一幀時,顯示掉血信息,比如,當人物的背部剛剛碰到地面的時候,顯示掉血信息。
像這樣:
那麼,通過對比以上方案,你覺得哪一種方案比較合適呢?
我們可以看到,針對本次需求,第三種可能更爲合適。
要做到這種效果,我們就需要在動畫播放到指定的幀時,執行邏輯。
具體做法:
首先,我們需要製作一個動畫:
關於製作動畫的方法,請參考教程:Animation動畫的製作和使用
我們點擊想要執行邏輯的幀,也就是人物剛剛着地的一幀(點擊藍色的菱形),紅色的豎線會移動過來:
點擊左側光標形按鈕,在當前位置插入一個關鍵幀,插入之後會出現一個小白方塊:
插入成功之後,雙擊小白方塊,會彈出如下窗口:
我們在FUNCTION欄中,填入我們想要執行的函數名,隨意填即可。
該函數會在動畫播放到這一幀的時候運行。
我們現在填入showBlood,如下:
填完之後直接關閉此窗口即可。
退出動畫編輯模式,保存動畫,開始編寫代碼。
關鍵代碼如下:
這樣,當動畫播放到剛剛指定的那一幀時,showBlood函數就會作爲回調函數執行了。
感謝閱讀。
喜歡請關注作者微信公衆號(獨立遊戲開發筆記):