我需要一種方法來檢查是否按下了一個UI按鈕,點擊事件並不真正有用,因爲Input方法(稱爲蝕刻時間是其玩家輪到的時間)將值返回給主函數while循環將完全停止遊戲,並且只有在玩家轉向時(玩家轉而Method正在等待輸入時)纔會接受輸入,由於這些原因,Unity事件觸發器似乎不會像一個可用的選項。所有我需要的是一種方法來檢查按鈕的狀態。檢查是否按下了用戶界面按鈕或替代選項Unity
注意:一個對象作爲我的主要方法 的IM期運用的start()方法,如果有應該與任何問題,讓我知道
另請注意:我的遊戲轉移到Unity所以我想改變最小的變化輸入+輸出方法的代碼
//TurnInput is an array of bools tracking witch buttons are being pressed
//(9 buttons)
private Block[] PlayerTurn(Block[] grid)
{
TurnNotDone = false;
while (!TurnNotDone)
{
//gets stuck unity crash
//needs to wait until player click on one of the buttons
//(when player click on a button is turn is over and the turn is
//passed to the AI)
}
for (int i = 0; i < 9; i++)
{
if (TurnInput[i]) grid[i] = SetBlock("O");
}
return grid;
}
//trigger by event trigger on button gets an int for the button Index
public void PointerDown (int i)
{
TurnInput[i] = true;
}
//trigger by event trigger on button gets an int for the button Index
public void PointerUp(int i)
{
TurnInput[i] = false;
}
如果Unity事件觸發器不是可用的選項 - 您的代碼結構就會混亂。你能否提供一段代碼來清除你想達到的目標? –
另一種方法是:1.檢查鼠標按鈕是否被點擊,2.將屏幕翻譯到世界位置3. raycast 4.檢查按鈕是否被raycast命中。 –
重塑遊戲統一,多數民衆贊成我的意見 – Lestat