這篇介紹更進階的遊戲性

 

1. Player Lives: 添加生命可以讓遊戲有挑戰性
Setting Lives: 可以在tab score選擇Set lives action添加生命
或是用Code寫
lives = 3
live是一個global variable, 用來代表玩家生命

Resetting The Ball:
xstart: 代表物件一開始建立時的x座標
ystart: 代表物件一開始建立時的y座標

Game Over Screen:
background_alpha[0...7]: 回傳或是設定background的透明度

01.png

 

2. Adding Statistics: 統計資料可以保留玩家最高紀錄的部分
Combos:
++可以用來在原本的數字值+1
global. 在宣告變數時會變成global變數

Displaying The Statistic:
重置遊戲時會把分數和一些計數都歸0

02.png

 

3.Power Ups: 為了提升不可預期的遊戲體驗, 可以新增力量升級或其他遊戲功能

Multi-ball: 用instance_create來建立多重球,
在球離開room時如果不是全部離開就只要消除instance即可

Line Bombs:
draw_line_width(x1, y1, x2, y2, w): 畫一條橫線
x1: 線的起點x座標
y1: 線的起點y座標
x2: 線的終點x座標
y2: 線的終點y座標
w: 線的寬度

draw_set_color(col): 設定線的顏色

draw_self() : 畫出預設的sprite

Destroying The Power Up: 可以用Alarm來限制power up的時間

03.png

 

4. 問題集
Q1: 什麼變數可以存取instance起始的座標?
A1: xstart和ystart

Q2: 什麼是backgrounds在建立時的變數類型?
A2: global scope以及background相關的array從[0]到[7]

Q3: 什麼是快速對數值加減1的寫法?
A3: value++ 或 value--

Q4: 我們如何透過x和y檢查是否發生碰撞?
A4: 利用with()並且比較兩個物體間的x和y軸值

Q5: 我們為甚麼要用draw_self()函數 ?
A5: 當呼叫 draw event時, 系統就不會繪製預設值了, 這時就需要自行繪製

04.png  

arrow
arrow
    文章標籤
    GameMaker Advanced Gameplay
    全站熱搜

    RX1226 發表在 痞客邦 留言(0) 人氣()