1 前言
1.1 回顧
前一篇 2 egret 飛行遊戲(v0.1 上)
實作了如下功能
- "開始遊戲"切換場景
還剩下如下功能
- 英雄和敵人發射子彈
- 敵人血量為0時消失
- 滑鼠或者觸屏來移動英雄
- 英雄血掉為0後遊戲結束,可以選擇"再來一局"
如果按完成度來算,上一篇隻有10%,再來一局10%,然後中間的場景功能才是剩下的80%。
2 操作步驟
2.1 背景滾屏
為啥要滾屏
英雄本身是不會動的,滾屏可以讓飛機有一直在向前飛的感覺。
示例的滾屏是加載背景圖檔上,向下,180的速度(180是預設值。。不要問為什麼)
- 先切換到場景
- 然後點第二個場景
- 再點中間編輯器裡的圖檔
- 右邊在行為清單 點添加行為
- 選擇滾屏下一步
- 改變滾動方向,滾動速度預設180
2.2 添加英雄
- 先切換到場景
- 然後點第二個場景
- 再切換到層(請確定選中是第二個場景)
- 建立層,重命名為物體層,準備放英雄以及敵人
- 選中物體層,然後點選素材圖示,選擇aircraft 紅色飛機
- 點确定,在ui層随便點一下,反正位置還得調。。
點開物體層,選中英雄,修改名稱為 英雄,設定坐标如下
橫坐标一半螢幕寬度,垂直距離85%。自己喜歡就行。。
坐标 | 值 |
---|---|
x | 511/2 =255.50 |
y | 0+762*0.85=647.7 |
英雄不能飛出邊界,需要添加行為。。邊界限制。。預設就行。。
英雄還要接受碰撞。。後面要掉血。。這裡順便把血也設定上。。預設10點血。添加自定義變量 HP 。。設定值為10
2.3 添加敵人
- 選中物體層,然後點選素材圖示,選擇aircraft_small橙色敵人
- 點确定,在ui層場景圖檔外随便點一下,螢幕外面就行。。敵人要随機産生的
- 修改層裡的敵人名稱為敵人
- 設定敵人接收碰撞
- 設定敵人HP為10,自定義變量
- 設定敵人出界銷毀。。HP為0也毀,除了螢幕也死,怎麼都得死。。
- 設定敵人有飛行速度。。不然怎麼出螢幕。。速度慢點100,不能比滾屏速度快,角度90。。順時針。。不然就亂飛了。。
完整的設定如下
2.4 子彈層之英雄子彈
- 切換到層(請確定選中是第二個場景)
- 建立層,重命名為子彈層,準備放英雄子彈,敵人子彈
-
選中子彈層,點選建立層圖示一排的最後一個層級下移圖示,確定子彈
層在物體層和背景層之間。。場景有渲染順序的要求。。
- 選中子彈層,然後點選素材圖示,選擇aircraftBullet紅色子彈
- 點确定,在ui層場景圖檔外随便點一下,螢幕外面就行。。子彈是由英雄發射的。。動态建立。。
- 修改名稱為英雄子彈
- 接收碰撞。。碰到敵人敵人要掉血的。。
- 添加行為。。子彈,飛行速度600,角度270 要朝填上。。順時針
- 添加行為。出界銷毀。。不要浪費資源。。
完整的配置如下所示
2.5 子彈層之敵人子彈
- 選中子彈層,然後點選素材圖示,選擇enemyBullet 黃色原型子彈
- 點确定,在ui層場景圖檔外随便點一下,螢幕外面就行。。子彈是給敵人發射的。。動态建立。。
- 修改名稱為敵人子彈
- 接收碰撞。。碰到要掉血的。。
- 添加行為。。子彈,飛行速度400,角度90 朝下,怎麼也不能比英雄子彈快。萬一朝上會誤傷自己人的(要不要掉血看加不加事件了)。。順時針
- 添加行為。出界銷毀。。不要浪費資源。。
完整的配置如下所示
2.6 給英雄找個地方顯示個血量
- 切換到層(請確定選中是第二個場景)
- 建立層,重命名為UI層,準備放英雄血量
- 選中UI層,然後點選插入文字旁邊的小三角,選擇位圖字型
- 點确定,在ui層場景圖檔外随便點一下
- 修改名稱為血量
- 選擇紋理圖檔為hp的圖檔
- 選擇紋理配置為hp的檔案
- 設定預設文本為HP12
- 接下來設定寬高,寬設定為100,高無所謂,自己設定數值看剛好能顯示HP就可以
- 然後設定坐标,拖到合适的位置就可以,也不設定比率了。
2.7 開始加事件了,先給英雄發射個子彈
- 檢查是否選中場景2
- 中間編輯器檢查是否顯示為事件表,否則點場景旁邊的箭頭切換為事件表
- 英雄每個0.2發射一發子彈,子彈本身有速度和方向
- 建立事件,選中system,下一步
- 選中 系統 下的 每x秒,下一步
- 事件間隔設定為0.2,點确定
- 在該事件(0.2秒觸發)後添加動作
- 選擇英雄,下一步
- 選擇其他裡的 制造,下一步
- 執行個體名裡的選擇一個對象,選擇英雄子彈,下一步
- 垂直偏移設定為-30,子彈朝上。。。
現在預覽,英雄就開始發射子彈了。。。
2.8 咋能沒有敵人,随機建立個敵人
- 每2秒,在螢幕内指定高度,随機x坐标建立個敵人
- 建立事件,選中system,下一步
- 選中 系統 下的 每x秒,下一步
- 事件間隔設定為2,點确定 (敵人慢點建立,不然就GG了)
- 在事件(2秒觸發)後添加動作 (注意要找對事件。。)
- 選中system,下一步
- 選擇其他裡的 制造,下一步
- 選擇系統裡的 建立執行個體,下一步
- 執行個體裡 選擇 敵人,下一步
- 圖層序号改為1
- 水準坐标設定為40+Global.random()*340,輸入40+Global.ra然後再彈框裡選擇random就可以,點确定