一、介紹
躲躲閃閃了兩個單元,這次終於要教大家如何攻擊了,我們會從如何讓角色發射飛彈開始,並說明發射方向如何調整,最後設定反派被飛彈打到的效果。( ´-ω ・)▄︻┻┳══━
為了使大家更好上手,我們會調整原先遊戲的內容,所以請大家先把之前的遊戲另外儲存起來,避免這次的更動覆蓋原先的內容。
二、目標
1. 熟練儲存與讀取遊戲檔案
2. 能讓角色獲得攻擊能力
3. 明白飛彈發射方向的調整
三、內容
1. 儲存遊戲的方法
首先打開上個單元製作好的遊戲。
將遊戲檔案儲存到自己的電腦,檔案名稱還能再進行修改。
2. 讀取遊戲的方法
首先我們要回到遊戲專案清單,請點選左上角的「MakeCode Arcade」。
點選右方的「匯入」按鈕。
接著點選「匯入檔案…」。
按下「瀏覽…」按鈕。
找到之前儲存的檔案,並按下開啟。
最後按下繼續即可。
3. 調整遊戲複雜度
隨著玩法越來越多,遊玩方式我們也得進行調整才行。限制太多,或複雜度的提升,對於遊戲的體驗並不會增加,適當就好。
既然我們即將有攻擊手段,且隨時都有被反派擊殺的可能,判定遊戲勝負這件事,就不會像一開始那麼難了,那麼或許能刪掉一些可有可無的元素,像是「倒數計時」。
第一步,刪除「開始倒數 ( 10 ) 秒」。
第二步,刪除整個「當倒數結束」。
刪除「倒數計時」之後,遊戲就會變成單純的生存戰,只要不要被反派碰到,遊戲就能進行下去。當生命值歸零後,遊戲會自動結束並顯示得分。
4. 增加攻擊手段
要讓角色發射飛彈並不複雜,相關的積木程式位於「角色」清單內,仔細查找可以看到關於「發射物 ( Projectiles )」的兩個積木程式。
第一個積木程式用來設定「背景中產生」的發射物,我們以範例程式「Space Destroyer」舉例的話,遊戲當中的「隕石」就是由它產生的。
第二個積木程式照字面上的意思,就是從「角色上產生」的發射物,同樣以「Space Destroyer」舉例,戰鬥機發射的光束就是用這個積木程式完成的。
為了增加角色攻擊的功能,就需要第二個積木程式來實現,先將它拖拉出來。
攻擊的時機,我們希望是由玩家控制的,所以我們需要點選「控制器」選項,並於清單內拖拉出「當[A]鍵被 [按住]」這個積木程式。
將這兩個積木程式組合起來,並且繪製發射物的「圖樣」,同樣能從素材庫中選擇。接著選取玩家操控的角色「變數名稱」,後方的「vx、vy」分別是 xy 方向的「速度」,可以調整的範圍是 -100 ~ 100。
速度調整的效果如下,大家可以自行設定玩玩看。正負會改變方向,試著改變 vx 與 vy 的數值,例如 vx 調整 30,vy 設定 75,在模擬器上看看結果會如何。
為了讓小編繪製的「小型火焰」可以用最大速度,從角色面向的方向發射,所以將如下圖設定發射物會從右邊向左筆直方向移動。
5. 擊中的後續步驟
接著設計「小型火焰」擊中反派後的動作,同樣使用「重疊」的積木程式來處理,類別分別選取「Projectiles」與「Enemy」。
擊中目標時,我們讓反派被摧毀並設定特效顯示,建議效果持續秒數可以短一點,不然畫面會很亂。
因為反派被摧毀後就消失了,所以需要重新創造一個,可以直接複製「當啟動時」裡創造反派的積木程式,並把它貼過來。
為了不讓反派太快跑出來,我們在摧毀與創造之間,加上「暫停」時間,至於要暫停多久,大家可以自行設定。
最後別忘記,將產生出來的反派「鎖定在螢幕」裡面呦!才不會導致它產生在螢幕外面,或是被邊框切到。
完成後一樣先到「遊戲模擬器」測試看看有沒有問題。
最後將遊戲下載到 micro:bit V2,並用 Game:Bit 試試自己完成的遊戲吧!
四、結論
不知不覺一個還算完整的遊戲,就這麼被我們完成了呢!d(`・∀・)b
後續除了「背景」或增加「提示」說明,也可以試著加快遊戲節奏看看,像是隨著得分越高,反派的速度就越快,或是增加反派數量…等。當然也可以加強玩家角色的火力,全憑大家自己的想像力。
下個單元會針對其他遊戲種類,挑幾個設計重點來做說明,在這之前,要不要先試著自己製作另一個遊戲試試?