2010-09-23 144 views
1

我目前正在爲學校製作java掃雷遊戲並遇到問題。我創建了一個按網格佈局排列的64個按鈕的數組。我遇到的問題是按下特定按鈕的x和y座標,並將這些座標發送到另一個包含2d數組的類。任何建議,如何我可以獲得按下按鈕的x和y位置? 在這個問題上的任何幫助,將不勝感激清掃遊戲諮詢

感謝

回答

0

一旦你知道的點擊位置,你可以使用基本的數學拿到廣場命中。然後是面向對象的編程,將該信息提供給遊戲的其他部分。您可以遵循MVC(模型視圖控制器)模式。

基本上,您的控制器(主要部分)將註冊爲偵聽您的視圖(您的按鈕)。

Here is a similar game with source code included如果有幫助。

+0

幫助我很多,謝謝 – mrblippy 2010-09-23 08:51:37

0

您是否需要畫布上的x-y座標或只是x和y,如按鈕所在的列/行?

如果是後者,只要確保其他類可以偵聽事件並使用座標觸發事件。

class OtherClass { 
    public void fireEvent(MineSweepButton button); 
} 

,併爲您的按鈕:

class MineSweepButton extends JButton { 
    private int x; 
    private int y; 

    public MineSweepButton(String text, int x, int y) { 
      super(text); 
      this.x = x; 
      this.y = y;    
    } 
} 

現在添加一個動作偵聽器觸發的OtherClass的事件。