--- tags: 2022 iThome 鐵人賽 title: 9/29 Arcade再進化-橫向捲軸遊戲(2) AUTHOR: 黃品惠 --- # Arcade再進化 ##### 作者: 黃品惠 在上一篇中我們已完成主角及地圖的基本設定啦!!! 還沒看得趕快去上篇觀看!!(不可以偷跳級喔!) 這篇我們將給主角出點難題,讓一隻小鬼追在他的後方(#°Д°) 拿出全力逃跑吧!! 別讓小鬼追上了你!! ### 敵人出現!? 1. 設定一倒數時間(放在當啟動時) ![](https://i.imgur.com/xergHU5.png) 2. 創建一個變數,將類別設為敵人(Enemy)。 讓他在倒數結束後出現。 並設定他的初始位置X及Y隨機取數。 ![](https://i.imgur.com/FFiSuw8.png) 呈現畫面 ![](https://i.imgur.com/rThG2Po.gif) 3. 設定敵人追逐時動畫。 ![](https://i.imgur.com/COHIcyx.png) 呈現畫面 ![](https://i.imgur.com/8dWrbp2.gif) 4. 讓敵人追隨著我們的主角跑!!以及設定追逐速度。 ![](https://i.imgur.com/O6a5bba.png) 呈現畫面 ![](https://i.imgur.com/OmnODWb.gif) ### 角色開始有了生命!! 1. 增加生命積木到當啟動時的積木裡 ![](https://i.imgur.com/8FagY1b.png) 呈現畫面 ![](https://i.imgur.com/Ni3aksQ.png) 2. 使用當角色重疊時的積木。 將otherSprite的類別改為Enemy(重要!!) ![](https://i.imgur.com/c8gVu3B.png) 3. 讓兩隻腳色重疊時,敵人被摧毀掉(可加入特效) ![](https://i.imgur.com/B9JWeUY.png) 呈現畫面 ![](https://i.imgur.com/37UyL1p.gif) 4. 讓小鬼碰到狗狗時,生命數-1。 注意!!!這時,當生命值為0時,遊戲將會自動失敗。 ![](https://i.imgur.com/yFAvtn5.png) 呈現畫面 ![](https://i.imgur.com/EdSluwf.gif) 5. 因前面敵人遭摧毀了 所以要使用當敵人被摧毀時的積木,讓我們可以再創一個敵人出現 類別同樣要改為Enemy~ ![](https://i.imgur.com/pnk82oK.png) 6. 將前一張中當倒數結束時裡的積木複製(可不用再重複拉一次方塊) 放入當角色被摧毀時的積木中 ![](https://i.imgur.com/79Lw4z0.png) 呈現畫面 ![](https://i.imgur.com/ax39kD2.gif) 7. 讓敵人的位置生成在角色附近,而不是在一開始處 將隨機取數積木刪除,並更改 ![](https://i.imgur.com/kQmSuKb.png) 畫面呈現 ![](https://i.imgur.com/SDEErJ8.gif) ### 甚麼?! 你居然說一隻鬼這樣太簡單了? 那就讓我們再來創建另一隻角色吧! (不可直接套迴圈讓他重複執行,遊戲會出現錯誤的) 1. 在創建一個新的變數badman2 ![](https://i.imgur.com/wPz3zv7.png) 2. 與第一支敵人的積木相同(此處可直接複製第一支的積木) 角色以及動畫更改為其他角色 變數部分要記得改為badman2,以及類別的地方創建並變更成新的Enemy2 還有為了讓兩隻敵人不會重疊在一起,將速度的部分改為不同 ![](https://i.imgur.com/ZpwXkBF.png) 呈現畫面 ![](https://i.imgur.com/sp1bsU5.gif) 3. 同樣讓我們的Enemy2在碰到主角時摧毀 otherSprite的類別處要選擇Enemy2,以及摧毀的角色要改為badman2 ![](https://i.imgur.com/NVlA9jy.png) 畫面呈現 ![](https://i.imgur.com/HGmlz7r.gif) 4.要讓Enemy2再次出現在主角附近~ 變數及類別同樣都要記得更改!!!(這很重要!) ![](https://i.imgur.com/AfWhYA8.png) 呈現畫面 ![](https://i.imgur.com/x3em7bW.gif) 到此我們第二支敵人也創作完成拉! ## 完成 ![](https://i.imgur.com/DU8yu4l.gif) [修改後遊戲](https://makecode.com/_02g5P98VKVKv)