一、介紹
前九個單元我們製作了一款遊戲,因為較為簡單的關係,並沒有辦法概括到所有功能,或是不同類型的遊戲實現。
所以這個單元將提出一些有趣的想法與解方,實際帶大家操作一次。希望可以幫助到各位在設計自己的遊戲時,可能會遇到的問題,或是提供不一樣的思考方向。
二、目標
1. 學習更多遊戲設計方法
2. 可以設計其他類型的遊戲
三、內容
1. 子彈變化
一般的 2D 射擊遊戲除了基礎的玩法之外,還會有強化玩家角色的功能,像是吃到「能量球」玩家的能力會增強,發射的飛彈也會產生變化。子彈變化有很多種,單純傷害增強、變大、變多或是造型改變……等。
我們就用簡單的範例來教大家如何讓角色的子彈變多,或是改變造型。小編會用最簡單的方法來展示,下圖是關於角色發射子彈的積木程式:
我們從變換造型開始,首先複製一組「當 [ A ] 鍵被 [ 按住 ]」,並改成「B鍵」。
接著更改「當 [ B ] 鍵被 [ 按住 ]」那組的發射物圖案,並使用「遊戲模擬器」測試看看效果。
那如果想要散彈效果呢?非常簡單,多新增幾個即可。(=゚Д゚=) ▄︻┻┳━ ·..
.`.
2. 觸發改變
我們以吃到「漢堡」作為子彈改變的契機,所以我們要新增一個類別為「Food」的漢堡,並調整玩家角色與它的距離。
接著設定「重疊」後,漢堡消失的特效。
以上是大家已經很熟悉的內容,那關鍵的「改變」呢?我們可以用之前提到的概念「變數」來實現。
首先於「當啟動時」內新增一個變數並設定初始數值,變數名稱可以依照自己的喜好設定,通常會取一些符合用途的名稱,可以幫助寫程式時的思路較清晰。因為是改變子彈的造型,並用此表示攻擊力變強了,所以小編取「PowerUP」。
當「變數PowerUP」數值為「0」時,我們希望子彈是原本的造型,當它變成「1」的時候,則是強化過的子彈造型。所以我們在吃掉「漢堡」的積木程式最後,加上「變數PowerUP」設為「1」的積木程式。
最後,我們在「當 [ A ] 鍵被 [ 按住 ]」那邊,加上判斷的條件,並將「當 [ B ] 鍵被 [ 按住 ]」裡的子彈複製過來。
因為「當 [ B ] 鍵被 [ 按住 ]」只是為了我們設計圖案時方便測試,現在將圖案整併到「當 [ A ] 鍵被 [ 按住 ]」之後,「當 [ B ] 鍵被 [ 按住 ]」就可以刪除了。
請於「遊戲模擬器」測試看看子彈有無變化。
3. 跳耀與蹲下
如果是想設計 Google Dino Game 這樣的遊戲,角色需要「跳耀」與「蹲下」的變化,蹲下的部分我們同樣也是改變造型。
只是與子彈不同的是,創造出來的子彈會發射出去,所以我們只是再創造另一個子彈的同時改變造型,但在這裡我們更改的是已經創造好的角色,處理上不太一樣。
對於更換原先角色的造型,我們可以使用「角色」裡有一個「角色 ( mySprite ) 的圖像設為( )」這個積木程式。
變數名稱的部分我們設定為要改變造型的角色名稱,並繪製「蹲下的造型」。我們希望「按下A鍵」時角色蹲下,而「鬆開A鍵」後角色恢復原狀。
所以需要新增另一個「當 [ A ] 鍵被 [ 鬆開 ]」的積木程式,並放入原先的造型。
4. 跳耀的方法
移動的部份我們可以參考「發射物」,發射物之所以會移動,是因為我們調整了它的速度。
同理,若是我們調整了角色的速度,是不是它也能飛上天呢?沒錯!在「角色」裡可以找到變更角色位置、速度的積木程式。
一旦變更速度,若是沒再調整,就會維持變更後的狀態。
所以讓我們使用「暫停毫秒」的積木程式,維持飛天一段時間後,更改成反向的速度,讓它墜落。
為了避免一直狂按「A按鍵」導致動作不如預期,我們加入一個檢查條件,只有當角色速度為「0」時才觸發改變。
OK,現在變成一直往下墜了對不對,因為角色的速度還沒被改成「0」,所以不會停止。
我們需要限制角色碰到地面時,速度得要設為「0」才行,假設還沒跳之前角色的「y座標」為60,我們以「y = 60」作為停在地面,那麼我們可以在遊戲進行的過程中,不斷去檢查角色的「y座標」,只要等於或大過60( 越往下數字越大 ),就讓角色的速度變回「0」,如下圖所示:
這樣角色就可以正常跳躍了。
5. 角色走路的圖樣變化
目前我們的角色在移動時,都是一張圖片平移四方,我們可以透過「進階」>「動畫」選項當中的積木程式讓我們的角色更生動。
按下「圖幀」的選項,可以在右側新增多張圖,我們將用這些圖拼湊出動畫,越多張圖越生動喔~
因為希望按下方向鍵可以讓角色動起來,可以透過下拉式選單將「A」鍵改成「任何」鍵,並將動畫積木程式放到裡面,「循環」的選項請「打開」。
這樣移動時角色就會動起來,別忘了也加上「鬆開」時的動作,同樣在「動畫」選項中有個「stop [ 全部 ] animations on ( mySprite )」,可以在您沒有移動時停止角色動畫。
是不是相當生動呢!(´ω)人(´ω
)
四、結論
以上就是全部的教學內容了,若是對於 MakeCode Arcade 相當感興趣,還想學習更多內容的話,建議大家除了參考「範例程式」之外,還可以參考官方推薦的「教學」內容,請點網址。
小編也是參考了其中的「Beginners Guide」學習如何製作遊戲,並消化其中的一些內容才分享給大家的,非常建議大家點開網址去學習呦!👩💻👨💻