2014-12-18 86 views
2

我正在使用Game Maker工作室中的Dragon Warrior類型RPG遊戲,並且無法弄清楚如何獲取不使用鼠標的顯示選項。我已經將遊戲設置爲使用遊戲手柄完全運行,但是當我遇到需要從玩家反饋(選擇選擇)的情況時,我無法使遊戲手柄工作。繼承人的GML如何在帶遊戲手柄功能的遊戲機中顯示選擇

if (distance_to_object(obj_judy)) <= 64 { 
    if keyboard_check(vk_space) || gamepad_button_check_pressed(0, gp_face3) { 
     show_question(mine_crystal); 
     if true { 
      global.energy -= 10; 
      global.power_crystal += 1; 
      instance_destroy(); 
     } 
    } 
} 

的問題是「show_question();」使用Windows類型的彈出式窗口,不與手柄的工作。

如何僅通過遊戲手柄輸入獲得玩家反饋? 感謝您的時間閱讀和您對這個小問題的幫助。

+0

行我想你將不得不創建自己的自定義消息窗口(無論如何這是一個很好的習慣)。有了更多的信息,我可以舉一個例子來說明如何做到這一點。你使用的是Game Maker Studio嗎?什麼級別(lite,標準,專業人士等)?你是否需要在給出消息時暫停遊戲? – PGmath 2014-12-19 16:45:22

+0

我使用的是Game Maker Studio Pro。是的,我希望遊戲暫停彈出文本框,以便它們無法在顯示選擇框中間逃跑。我製作了一些自定義的開始菜單圖形,我可以使用相同的設計來設計文本框。 – 2014-12-19 21:01:45

+0

這是一個相對較新的遊戲,或者你有一段時間的工作嗎?基本上,我問你是否處於可以爲所有對象的大部分操作添加新變量和新代碼的階段。如果不是,還有其他的停頓方式,但它們更復雜。 – PGmath 2014-12-20 02:36:38

回答

0

所以是的,你需要自己寫這個邏輯。此外,你在那裏寫的代碼看起來有點可怕,我會用它;

if (show_question(mine_crystal) == true) { 
     global.energy -= 10; 
     global.power_crystal += 1; 
     instance_destroy(); 
    } 

因爲

show_question(mine_crystal); 
if true { 
    global.energy -= 10; 
    global.power_crystal += 1; 
    instance_destroy(); 
} 

將顯示一個問題,然後總是做礦晶體行動(因爲你if (true)將始終評估爲真,不知道上面