這篇介紹控遊戲的狀態

 

1. Splash Screen: splash screen 指的是玩家第一個看到的畫面
通常就是開發商等等之類的
而Room的擺放的上下關係決定撥Room展現的順序
其中tab background內的Stretch可以讓背景填滿房間
Timing: 可以利用Alarm Event來控制Room的撥放時間
Create Event: tab main2可以設定Alarm action,
按照房間的steps可以來設定秒數
Alarm [0] Event: tab main1可以設定Next room action,
來設定進入下一個房間

01.png

 

2. Main Menu: Main Menu是用來展示該遊戲的基礎選項
Creating The Room And Buttons: 在資料夾可以按下Create Group建立資料夾
, 並且用拖曳的將資源做分類

The Start And Exit Buttons:
tab Main1內的Different Room action可以指定下一個房間
tab Main2內的End Game Action可以結束遊戲

The Options And Back Button:
Back和Options之間都轉換用Different Room action即可

02.png

 

3. Options Menu: 放一些設定, 像是音樂的開關
Options Menu: Create Font可以建立字形, Size選擇字的大小,
Font則是選擇字形的格式, 需要電腦有安裝的

Drawing The Options:
draw_set_font(font): 設定哪種字形來繪製

draw_set_halign(halign): 繪製之後水平對齊
halign有三種屬性
fa_left :靠右對齊
fa_center:置中對齊
fa_right :靠左對齊

sprite_get_width(index): 取得目標sprite的寬
sprite_get_height(index): 取得目標sprite的高

Using The Draw GUI Event:
Draw Event內有兩種Draw選項
Draw: 是將東西畫在room對應的座標裡面
Draw GUI: 對應遊戲的視窗或畫面弄故定大小繪製在使用介面層
通常會用來畫血量或分數
tab Draw內的Draw Text可以繪製字
text可以指定文字
x是指定房間的x座標
y是指定房間的y座標

Draw Sprite action可以繪製sprite
sprite可以選擇目標sprite
subimage是選擇哪個動畫的frame, -1是指定當下的frame

Toggling Music:
draw_sprite(sprite, subimg, x, y): 在目標位置畫sprite
sprite: 要畫的sprite index
subimg: 要添加的子畫面索引
x: 從哪個x座標來畫製
y: 從哪個y座標來畫製

mouse_check_button_pressed(numb): 用來判斷目標滑鼠按鍵是否有按下
mb_left: 滑鼠左鍵
mb_middle: 滑鼠中間鍵(滾輪)
mb_right: 滑鼠右鍵
mb_none: 沒有按鍵被按下
mb_any: 任意鍵被按下

mouse_x: 滑鼠的x座標
mouse_y: 滑鼠的y座標


audio_stop_sound(index): 停止目標聲音
audio_play_sound(index, priority, loop): 撥放目標聲音
index指定的聲音資源
priority是優先權
loop是決定是否循環撥放

Final Note:
最後要調整原本在main room裡面撥放聲音的位置到splash room

04.png

 

4. 問題集
Q1: 什麼是alarm?
A1: alarm是一個倒數結束時會觸發的事件

Q2: 什麼是resource group?
A2: 是一個可以放置多個資源的資料夾, 並不會因會放置而產生特別的影響

Q3: 你要如何偵測滑鼠按下instacne?
A3: 運用mouse pressed event來偵測和觸發

Q4: 你要用哪個function來設置繪製字的字型?
A4: 用function draw_set_halign().

Q5: 甚麼是GUI?
A5: GUI是一個不同於main application surface的繪圖層,
而他的大小和遊戲的視窗一樣大. 用來繪製HUD或是UI元素

03.png  

arrow
arrow
    文章標籤
    GameMaker Game States
    全站熱搜

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