我正在創建一個字符選擇,它會改變主角的精靈。交換不同房間中的物體的精靈
要做到這一點,我有一個箭頭對象,用戶單擊它來更改主角色的精靈。
global.Mario = true;
global.PrincessPeach = false;
global.Luigi = false;
global.Bowser = false;
if (mouse_check_button_pressed(mb_left)) {
if (global.Mario = true) {
Mario = false;
PrincessPeach= true;
}
if (global.PrincessPeach= true) {
PrincessPeach = true;
Mario = false;
}
if (global.Luigi = true) {
Luigi = false;
Bowser = true;
}
if (global.Bowser = true) {
Bowser = false;
Mario = true;
}
}
然後,在我的主要角色,我有一個創建一個事件執行類似下面的代碼:
if (global.Mario = true) {
sprite_index = Mario_NotJumping;
}
if (global.Luigi = true) {
sprite_index = Luigispr;
}
然而,當我跑我的遊戲來測試它,我得到以下錯誤:
FATAL ERROR in
action number 1
of Create Event
for object Mario_selection:
Push :: Execution Error - Variable Get -5.Mario(100000, -1)
at gml_Object_Mario_selection_Create_0 (line 1) - if (global.Mario = true) {
目的Mario_selection
具有完全相同創建事件和相同的代碼爲主要特徵。向用戶顯示更改。
如果有人能夠幫助我,我對GameMaker相當陌生,所以我有一種感覺,我只是誤解了全局變量。
不確定發生了什麼,但基本上這個錯誤意味着你試圖在初始化之前訪問global.Mario。所以我猜想第二批代碼正在第一批代碼之前運行。屏幕上的兩個對象都是直接的嗎? – PugFugly