2010-09-23 114 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的事件。