我在JFrame中製作某種基於回合的戰鬥系統,玩家在輪到他時點擊一個按鈕。問題是:程序如何等待鼠標單擊按鈕?它是這樣的:Java:等待鼠標輸入(點擊)
,而它是玩家的回合{
等待鼠標輸入
如果輸入==攻擊(例如)
-> attack
否則,如果input == item
-> use item
等
我在JFrame中製作某種基於回合的戰鬥系統,玩家在輪到他時點擊一個按鈕。問題是:程序如何等待鼠標單擊按鈕?它是這樣的:Java:等待鼠標輸入(點擊)
,而它是玩家的回合{
等待鼠標輸入
如果輸入==攻擊(例如)
-> attack
否則,如果input == item
-> use item
等
您不必等待點擊;你讓Swing爲你做。相反,你把你想做的任何事情放入一個ActionListener
並將它附加到按鈕上,以便在單擊該按鈕時執行它。
至於輪到你,你只需要一個成員變量的地方,保持跟蹤它的輪到它;按鈕處理程序然後必須查看該變量才能知道該怎麼做。構建東西
的一個好方法,順便說一下,可能是有一個Player
類和Game
類,並在Game
成員稱爲currentPlayer
。然後ActionListener
(它將Game
對象保留爲其自己的成員變量)可以在Game
中查看currentPlayer
,並簡單地在適當的Player
對象上調用makeMove()
。
好吧,我會想到另一種解決方案。謝謝! – Zik 2012-04-06 05:45:40
你的問題是什麼? – 2012-04-06 05:33:35
我已經把它放在while循環中,但框架的內容不顯示我認爲這是因爲while循環 – Zik 2012-04-06 05:37:13
是什麼?我的問題是程序如何等待鼠標點擊按鈕? – Zik 2012-04-06 05:37:31