我目前正在为学校制作一个java扫雷游戏并遇到问题。我创建了一个由网格布局排列的64个按钮的数组。我遇到的问题是按下一个特定按钮的x和y坐标,并将这些坐标发送到另一个包含二维数组的类。关于如何获得按下按钮的x和y位置的任何建议??? 任何有关此事的帮助将不胜感激
感谢
答案 0 :(得分:0)
一旦你知道了点击位置,就可以使用基本数学来获得方形命中。然后是面向对象的编程,将该信息提供给游戏的其他部分。您可以遵循MVC(模型视图控制器)模式。
基本上你的控制器(主要部分)会注册为聆听你的视图(你的按钮)。
答案 1 :(得分: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上的事件。