悠悠考拉是一款好玩而且又考驗判斷與反應能力的游戲,讓我們一起來看看通過開源免費的青瓷引擎是如何來實現這款游戲。
(點擊圖片可進去試玩)
本文共有三部分內容,本篇文章為第一部分,主要內容如下:
1、游戲功能分析
2、游戲主體模塊的設計
一、游戲功能分析
根據游戲設定,解析出游戲的主要功能,分解成每個功能模塊,然后制訂每個功能模塊代碼結構,如下圖所示:
二、游戲主體模塊的設計
2.1 考拉
從游戲最終的界面效果我們可知該游戲的主體模塊為考拉、藤條、柱子。下面分別介紹每個主體模塊:
考拉:在悠悠考拉游戲中,我們可以看到考拉有走路、拿秋千、放手、掉落、死亡等動作,這些動作都可以使用引擎的幀動畫完成,這里不一一講述每個動作的制作方法,只以考拉的"走路"動作作為講解,其余動作都類似。首先,我們需要將美術提供的美術資源添加到引擎中,在引擎界面的atlas文件夾新建一個文件夾取名koala@atlas,后綴名為@atlas的含義是將打包的圖集放入到atlas文件夾中,將考拉圖片資源拖入到koala@atlas文件夾中,如下所示:
右鍵單擊koala@atlas選擇"Repack Texture Atlases"打包圖集,如下:
打包圖集成功后,我們可以在atlas文件夾下看到koala.bin文件,如下所示:
其余游戲中的圖集資源的添加與打包方法類似,更多的關於圖集打包信息可查看圖集。此時,我們可以制作考拉幀動畫,我以考拉走路動作為例:前面我們已經把koala@atlas打包成圖集了,制作幀動畫需要用到里面的圖片資源。方法是首先點擊"Assets/atlas文件夾",點擊"向右三角形",如下圖所示:
點擊圖集中的walk_1.png圖片,此時右邊Inspector面板出現如下信息,如下圖所示:
點擊"Edit Frame Animation",此時進入幀動畫編輯界面,如下圖:
輸入動作名稱,幀率,是否循環播放,並添加每幀的圖片。將圖集中的walk_1-walk_4圖片依次拖入到幀動畫表中,點擊"Save"保存即完成幀動畫制作,如下圖所示:
我們還可以在預覽框中看實際效果圖,下面是我們剛做好的走路幀動畫,如下:
更多制作幀動畫的信息可查看《幀動畫》。
2.2 藤條
藤條:在悠悠考拉游戲中,我們可以看到當考拉抓住藤條時,考拉就跟着藤條做鍾擺運動。藤條做鍾擺運動的實現可以使用引擎提供TweenRotation動畫,具體做法是首先我們先在引擎編輯界面的Hierarchy創建一個Empty Node節點取名swing,然后再swing節點下創建一個Image節點,該節點用於顯示藤條,此時我們就需要在swing節點上掛載一個TweenRotation動畫以實現藤條的鍾擺運動:首先在引擎編輯器的最右邊Inspector面板點擊"add Component"(注意:引擎編輯界面有中英文編輯界面,該篇文章使用的是英文編輯界面),如下圖:
點擊上圖中的Tween按鈕,出現如下界面:
選擇上圖中的TweenRotation即完成TweenRotation組件的掛載,掛載完成后的界面如下:
我們想要藤條的效果是擺動的,而且是有加速度的。這些可以通過設置TweenRotation組件而實現,首先我們設置from值,該值表示從什么角度開始,而to值表示到達某個角度,舉個例子:我設置from為40,to為-40,Play Style(播放類型有三種:once(播放一次)、loop(循環播放)、PingPong(來回播放))設置為PingPong,curve為動畫運行的曲線,設置該值可達到想要的效果,duration為播放動畫所需的時間。curve的值設置如下:
選擇該曲線的目的是希望藤條有切向加速度。
設置好上述屬性值后,效果如下:
其實,我們也可以設置Play Style的值為Loop,並相應的改變curve的值,curve的值設置如下:
同樣也可以達到上述的效果,更多的Tween動畫可參看Tween。
還有一個細節是在游戲中,考拉在藤條的底部,考拉也會跟着藤條做鍾擺運動。我們可以將考拉設置為藤條的孩子節點,並把考拉的錨點設置為藤條的底部中心(關於錨點的具體信息可查看錨點),考拉節點的屬性值設置如下:
這樣考拉就可以跟着藤條一起做做鍾擺運動了,效果圖如下:
2.3 柱子
柱子:在該游戲中,使用三根柱子用於循環移動,柱子存放在數組中,指定數組標號為1的柱子作為跳台,當考拉成功跳到跳台上時,將數組標號為0的柱子刪除,並在數組后面根據關卡配置的柱子信息添加一根柱子到數組中,依次循環。在布局時,將其中前后相繼的柱子固定在寬度為640的范圍內,如下圖:
這樣我們就可以固定柱子的x軸的位置,例如:后一根柱子的x坐標就為前一根柱子的x軸坐標加上640再減去后一根柱子的寬度。下一篇文章將具體講述游戲的實現。