遊戲製作
工欲善其事必先利其器,在開始製作遊戲之前,您需要檢查您是否安裝了以下開發環境:1、檢查你的EgretPro是否更新到了1.6以及以上版本;2、檢查下是否安裝了5.3.7以及以上的Egret2d引擎。創建項目
首先,打開EgretPro,項目--庫項目--新建。其次,創建完項目之後,EgretPro會自動打開剛才創建的庫項目RunningGame,在resource/scenes目錄下面創建一個場景RunningScene,雙擊在場景編輯中打開該場景。如下圖所示:創建跑道
跑道是通過3個實體Cude拼接而成的,並且隨著主角向前奔跑,跑道需要滾動起來,我們在這裡通過組件的方式動態的創建跑道。使用Vscode打開自己剛才創建的項目,然後在src目錄下面創建一個文件夾game用來存放我們的組件代碼,然後在game目錄中創建RoadController.ts文件。然後把RoadController組件添加在場景的Root實體上。最後點擊預覽(內置)(或者預覽瀏覽器)按鈕,就可以看到下面的效果了。攝像機的這個角度看上去有點彆扭,你可以在運行界面,通過調試攝像機的TransForm參數來調整攝像機的位置與角度達到畫面看上去比較舒服。
添加主角
第一步,將美術同學給的遊戲素材BakedAnimation拷貝到項目目錄resource/assets/a nimations中。第二步,在EgretPro編輯器資源管理器中打開resource/assets/animations/BakedAni mation/Boy_standby_out目錄,拖拽Boy_standby.gltf.prefab.json文件到場景中。添加金幣
預製體是一個遊戲對象及其組件的集合,目的是使遊戲對象及資源能夠被重複使用,相同的遊戲對象可以通過一個預製體來創建,此過程可以理解為實例化。遊戲中的金幣散落在整個跑道上,在這裡使用預製體來做金幣是最合適的!1、打開(或者創建)resource/perfab目錄,然後在資源管理器模塊,右鍵--》創建預製體coin.perfab.json;2、雙擊剛剛創建的預製體,在層級欄中右鍵-->3D-->球體;3、選中剛才創建的球體,在屬性欄給其選擇material項,選擇,coin.mat.json。處理碰撞
接下來,我們要做的就是處理金幣與主角之間的碰撞了,我們需要檢查每一個金幣,如果和主角發生了碰撞,那麼我們的金幣就有一個緩動動畫然後消失。那麼對金幣與主角碰撞處理的這一個行為我們還是放在CoinSystem.ts系統類中去處理。添加UI界面
接下來,我們需要給案例添加一個UI界面,也就是要加入一些2d的內容。在這裡我需要給讀者講解一下如何在3d場景中添加UI界面?具體參考這裡:Egret2d與EgretPro整合。第一步,將3d場景導出成第三方庫pro-library;第二步,創建一個2d項目,將第三庫pro-library添加到2d項目中;恭喜你完成了使用EgretPro製作的第一款遊戲,點擊下方閱讀原文即可下載完整的遊戲源碼。
通過本示例你可以學到手勢識別、動畫系統、金幣系統、碰撞處理、UI系統、EgretPro與Egret2d項目交互等知識點同時你也可以學習了解到EgretPro與Egret2d之間的交互--使用EgretPro製作3D場景,然後把製作好的3D場景導出為第三庫的形式添加到Egret2D項目,在Egret2D項目中處理UI系統,使用Egret.pro中的方法進行3D與2D之間的通信。
最後,您還可以繼續在本示例的基礎上添加功能繼續完善您的遊戲。期待您的完美作品!
Egret Pro學習交流群見下,歡迎大家入群交流。
開發者技術交流區:bbs.egret.com
在線開發者微信群:egretengine(搜索微信號添加)
官方技術支持郵箱:support@egret.com
市場合作:marketing@egret.com
商務合作:bd@egret.com
招聘郵箱:hr@egret.com
白鷺引擎微信號