打磚遊戲 BREAKOUT 資源提供:台山商會中學
本遊戲共設兩關 第一關 (Level 1): 第二關 (Level 2)-增潤部分: 磚塊整齊地排列 共有八個球的機會 磚塊分散地排列 多了一個到處走的飛碟 共有五個球的機會
製作步驟
1. 加入圖組 (ADDING SPRITES) 本遊戲共有八個圖組(Sprites),包括:磚塊、牆壁、 球、橫桿…
2.製作物件 (CREATING OBJECTS) 物件名稱 動作 (Actions) 實心(Solid) wall_object Nil Yes wall2_object block1_object block2_object block3_object ball_object P12 – P33 bar_object P34 – P40 control_object P41 – P53 No ufo_object P56 – P64 control2_object P65 – P69
完成製作物件後,將如下圖所示:
3.製作場景(ROOMS) 依右圖排列場景內的 物件 Tips:為方便製作, 可把 Snap X 和 Snap Y 的值設定為 圖組(Sprites) 的大小
4.設定背景圖片 在 BACKGROUNDS 標籤中載入“BACKGROUND0” 的背景
5.加入音效(SOUNDS): 重覆以下的步驟,載入六個音效檔(SOUND ),以便以後使用 2. 5.加入音效(SOUNDS): 重覆以下的步驟,載入六個音效檔(SOUND ),以便以後使用
End of lesson 1
3. 6.設定物件:BALL_OBJECT 物件:Ball_object是回彈球,動作(Actions)如下: 設定發球方向和速度 當碰撞不同磚塊發出不同的音效及得到不同分數 當碰到橫桿及飛碟時要反彈並發出音效 當碰到下方的牆壁時生命值減 1 及重新發球
6-1. 用CREATE 來建立方向及速度
6-2. 球要任意角度向上移動
6-3. 當球碰到WALL_OBJECT牆壁時,只要反彈即可
6-4. 當碰到 BLOCK1_OBJECT (綠色) 時 有以下四個動作: 反彈 磚塊摧毀 分數增加一分 發出音效
6-4-1反彈 a. (Add event => Collision => block1_object)
b. (Bounce against solid objects)
6-4-2. 磚塊摧毀 (Destroy Instance +> Applies to : Other)
6-4-3. 分數增加一分
6-4-4. 發出音效
已完成球碰到BLOCK1_OBJECT 的所有動作
6-5: 設定球碰到BLOCK2_OBJECT (藍色) 四個動作 反彈 磚塊摧毀 分數增加 5分 發出音效 方法: 重複 P.18 – P.23 的步驟,但記緊增加分數為五分。
BLOCK2_OBJECT (藍色) 的動作清單(ACTIONS LIST)如下圖:
6-6: 設定球碰到BLOCK3_OBJECT (紅色) 四個動作 反彈 磚塊摧毀 分數增加 10分 發出音效 方法: 重複 P.18 – P.23 的步驟,但記緊增加分數為10分。
BLOCK3_OBJECT (紅色) 的動作清單(ACTIONS LIST)如下圖:
6-7: 設定小球碰到BAR_OBJECT 横桿時 1.反彈 2.發出音效
6-8: 設定球碰到WALL2_OBJECT (即下邊的牆壁時) 6-8-1. 摧毀
6-8-2.設定 LIVES (生命) 減一(即少了一顆可使用的球)
6-8-3.休息 3000 毫秒 (3 秒)
6-8-4.在座標 (400,200) 的位置重新發球
End of lesson 2
7. 設定 BAR_OBJECT 物件 Bar_object 是横桿物件,主要是處理横桿左右移動 的按鍵動作,當碰到牆壁時要停止移動横桿。
7-1:當按下 “” 鍵時 設定横桿向左移動,速度是8 選擇 Bar_object Add event > Key Press > <Left>
7-2:當放開 “” 鍵時 停止 Add event > Key Release > <Left>
7-3:參考 7-1 及 7-2 的方法,設定 “”鍵的移動
7-4:當横桿向左右移動碰到WALL_OBJECT時 橫桿停止移動 Add event > Collision > wall_object > Start moving in a direction
8. 設定物件:CONTROL 物件:Control 是用來控制第一關(Level 1)的細節 設定起始分數為 0 設定起始生命值為 8 若分數等於 144,進入第二關。 144 = 1 x 9 + 5 x 9 + 10 x 9 若生命值為 0,則結束遊戲
8-1 & 8-2: 設定score = 0,live 生命 = 8
8-3: 若分數為 144,進入第二關 (Add event > Step > Step)
標籤 Score > Test Score
開始一連串動作 (Start a block) 標籤 Control > Start Block
暫停 (Sleep) 3 秒 標籤 Main2 > Sleep
進入第二關 標籤 Main1 > Next Room
結束一連串動作
8-4:若生命 = 0,遊戲結束
完結遊戲
8-5:在座標 (24,0)的位置顯示 8 顆生命值。 Add event > Draw
52
8-6:最後將 control 物件放到場景的左上角即可 53
End of lesson 3 54
增潤部分 第二關 分散排列的磚塊 多了一個到處走的飛碟 有五個球的機會
7. 建立第二關的 ROOMS 場景 必須加入飛碟
8. 設定 UFO_OBJECT 物件 飛碟的動作(Actions)和球類似,只是碰撞事件中不 處理磚塊的碰撞。 設定起始方向和速度 當碰到牆壁 wall_object 和 wall2_object時反彈 當碰到球時, 反彈 發出聲音 生命值減 1 當碰到橫桿時,
8-1: 首先用CREATE來建立方向和速度 ADD EVENT > CREATE > SET DIRECTION AND SPEED Random(360): 設定成360度任何方向 速度為 10
8-2: 碰撞事件 當碰到 WALL_OBJECT 或 WALL2_OBJECT 時 反彈 (ADD EVENT => COLLISION => BOUNCE > 使用預設值)
8-3:當碰到球時反彈 ADD EVENT > COLLISION > BALL_OBJECT > BOUNCE > 使用預設值
8-3 生命要減一 (LIVE = -1) 註: 當飛碟碰撞球時,可能維持一段時間,所以生命值會減少數次。
8-3 而且要發出聲音
8-4:當碰到橫桿時,首先發出聲音,然後再反彈 ADD EVENT > COLLISION > BAR_OBJECT >…
8-5:於場景加作物件:UFO 要使 ufo_object 在第二關生效,必須將 ufo_object 物件放到 room2 場景內
9. 設定 CONTROL2 物件 9-1 設定score = 0,live 生命 = 5
9-2: 當第二關磚塊全部打完 (分數=144) SCORE >TEST SCORE > VALUE=144, OPERATION = EQUAL TO 執行: 顯示 “You Win!” (main2>Display Message) 完結遊戲 (main2>End Game)
9-3:如果是 NO MORE LIVES 出現 (即沒有球時) 顯示 “You Lost!” 完結遊戲
9-4 於座標 (24,0) 的位置顯示「生命」資訊
9-5: 將「物件:CONTROL2」 放在第二關場景(ROOM1)的左上角,讓「物件:CONTROL2」生效
完