国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Cocos Creator封裝自己的幀動畫組件播放動畫

2022-03-12 14:06 作者:BYCW丶幻彩  | 我要投稿

前言

在Cocos Creator游戲開發(fā)的過程中我們進行需要使用動畫效果,雖然可以通過動畫編輯器編輯動畫效果,但是有時候用戶想更靈活的控制幀動畫的效果,就需要自己封裝幀動畫組件。

一、幀動畫播放組件

1: creator播放幀動畫需要通過動畫編輯器去制作;

2: 為了方便控制和使用加入幀動畫代碼播放組件;

3: 屬性設(shè)置:

  1. sprite_frames: 幀動畫所用到的所有的幀;

  2. duration: 每幀的時間間隔;

  3. loop: 是否循環(huán)播放;

  4. play_onload: 是否加載組件的時候播放;


4: 接口設(shè)置:

  1. play_once(end_func); // 播放結(jié)束后的回掉函數(shù);

  2. play_loop(); // 循環(huán)播放;


二、幀動畫播放原理

1: 對的時間播放顯示對的圖片:

假設(shè)以三幀動畫為例,時間間隔就是duration,



三、自己封裝幀動畫組件


四、測試封裝的幀動畫組件



勾選PlayOnLoad和去掉的區(qū)別,勾選Loop和去掉的區(qū)別,可以發(fā)現(xiàn)預(yù)加載和循環(huán)播放。如何在代碼中控制?

新建GameMgr.ts掛載到Canvas節(jié)點上****。

1. ?`import FrameAnim from "./FrameAnim";` 3. ?`const {ccclass, property} = cc._decorator;` 4. ?`@ccclass` 5. ?`export default class GameMgr extends cc.Component {` 7. ?` ? ?@property({type: [FrameAnim], tooltip:"幀動畫數(shù)組"})` 8. ?` ? ?anim : Array<FrameAnim> = [];` 9. ?`// onLoad () {}` 11. ?` ? ?endPlay(){` 12. ?` ? ? ? ?console.log("動畫播放完畢??!");` 13. ?` ? ?}` 14. ?` ? ?start () {` 15. ?` ? ? ? ?//this.anim[0].playOnce(this.endPlay);` 16. ?` ? ? ? ?//this.anim[1].playOnce(this.endPlay);` 17. ?` ? ? ? ?//this.anim[0].playOnce(null);` 18. ?` ? ? ? ?//this.anim[1].playOnce(null);` 19. ?` ? ? ? ?//this.anim[0].playLoop();` 20. ?` ? ? ? ?//this.anim[1].playLoop();` 21. ?` ? ? ? ?if(this.anim.length > 1){` 22. ?` ? ? ? ? ? ?this.anim[1].duration = 0.5;` 23. ?` ? ? ? ? ? ?this.anim[1].playOnce(this.endPlay);` 24. ?` ? ? ? ?}` 25. ?` ? ? ? ?if(this.anim.length > 0){` 26. ?` ? ? ? ? ? ?this.anim[0].playLoop();` 27. ?` ? ? ? ?}` 28. ?` ? ?}` 29. ?`}`





更多教學(xué)視頻以及源碼素材

https://www.bycwedu.com/promotion_channels/829468798

Cocos Creator封裝自己的幀動畫組件播放動畫的評論 (共 條)

分享到微博請遵守國家法律
台北市| 东港市| 绵阳市| 毕节市| 龙口市| 璧山县| 灵宝市| 唐海县| 湟源县| 犍为县| 竹山县| 德清县| 新疆| 定陶县| 洪泽县| 金秀| 西充县| 五河县| 喀喇沁旗| 柞水县| 安化县| 鄂托克前旗| 颍上县| 西安市| 浠水县| 大埔区| 巴林左旗| 昭通市| 武平县| 皋兰县| 孟连| 无棣县| 贵州省| 肇源县| 延津县| 桑日县| 克什克腾旗| 新绛县| 平度市| 措勤县| 宁城县|