Java 如何检查我是否刚刚从数组中单击了某个对象?
基本上,我正在创建一个游戏,你可以点击掉落的物体,例如饼干,我需要知道如何检查和查看某个饼干是否被按下,这样它就可以消失,但问题是它在一个数组中 下面是我的一些代码: 输入类Java 如何检查我是否刚刚从数组中单击了某个对象?,java,arrays,cookies,Java,Arrays,Cookies,基本上,我正在创建一个游戏,你可以点击掉落的物体,例如饼干,我需要知道如何检查和查看某个饼干是否被按下,这样它就可以消失,但问题是它在一个数组中 下面是我的一些代码: 输入类 public class Input implements MouseListener, MouseMotionListener{ @Override public void mousePressed(MouseEvent e) { if(e.getSource().equals(MainGame.CG)){
public class Input implements MouseListener, MouseMotionListener{
@Override
public void mousePressed(MouseEvent e) {
if(e.getSource().equals(MainGame.CG)){
if(MainGame.MG.inGame){
//There is actually something else here but its classified (haha sorry about that)
if(e.getPoint().x > /*I NEED SOMETHING HERE*/){
//tells you if the object has been pressed
MainGame.CG.cookieClicked = true; //CG = ClickerGame
}
}
}
}
}
使用数组初始化
public class ClickerGame extends JPanel{
public int amount;
public FallingObject[] fo = new FallingObject[120]; //THE ARRAY I'M HAVING TROUBLES WITH
/*THE REST IS A SECRET (SORRY ABOUT THAT)*/
}
如果你不明白,这里有一张图片来说明我需要什么。。。
如果单击时与鼠标指针坐标相交,则必须检查
FallingObject[]
数组中的每个元素
您可以实现一个简单的矩形测试,或者为每个cookie使用一个圆,如下所述:
如果单击时与鼠标指针坐标相交,则必须检查
FallingObject[]
数组中的每个元素
您可以实现一个简单的矩形测试,或者为每个cookie使用一个圆,如下所述:
如果单击时与鼠标指针坐标相交,则必须检查
FallingObject[]
数组中的每个元素
您可以实现一个简单的矩形测试,或者为每个cookie使用一个圆,如下所述:
如果单击时与鼠标指针坐标相交,则必须检查
FallingObject[]
数组中的每个元素
您可以实现一个简单的矩形测试,或者为每个cookie使用一个圆,如下所述:
为了避免每次单击时必须检查120个不同项目的坐标,请让
FallingObject[]中的每个元素意识到三件事:
其自身的影响范围(见sn00fy的回答)
包含类(在本例中可能是ClickerGame
它在数组中的位置(int)
为此,您需要将FallingObject
构造函数更改为如下所示:
public void FallingObject(ClickerGame master, int index); //add whatever else is needed for Falling Object.
然后您可以按如下方式实例化该数组
for(int i = 0; i < 120; i++) {
fo[i] = new FallingObject(this, i ); //add anything else needed for the constructor
}
要从FallingObject
中调用此方法,只需引用“master”变量(您可能应该将其保存为类中的全局变量)。为了避免每次单击时必须检查120个不同项目的坐标,请使FallingObject[]中的每个元素了解三件事:
其自身的影响范围(见sn00fy的回答)
包含类(在本例中可能是ClickerGame
它在数组中的位置(int)
为此,您需要将FallingObject
构造函数更改为如下所示:
public void FallingObject(ClickerGame master, int index); //add whatever else is needed for Falling Object.
然后您可以按如下方式实例化该数组
for(int i = 0; i < 120; i++) {
fo[i] = new FallingObject(this, i ); //add anything else needed for the constructor
}
要从FallingObject
中调用此方法,只需引用“master”变量(您可能应该将其保存为类中的全局变量)。为了避免每次单击时必须检查120个不同项目的坐标,请使FallingObject[]中的每个元素了解三件事:
其自身的影响范围(见sn00fy的回答)
包含类(在本例中可能是ClickerGame
它在数组中的位置(int)
为此,您需要将FallingObject
构造函数更改为如下所示:
public void FallingObject(ClickerGame master, int index); //add whatever else is needed for Falling Object.
然后您可以按如下方式实例化该数组
for(int i = 0; i < 120; i++) {
fo[i] = new FallingObject(this, i ); //add anything else needed for the constructor
}
要从FallingObject
中调用此方法,只需引用“master”变量(您可能应该将其保存为类中的全局变量)。为了避免每次单击时必须检查120个不同项目的坐标,请使FallingObject[]中的每个元素了解三件事:
其自身的影响范围(见sn00fy的回答)
包含类(在本例中可能是ClickerGame
它在数组中的位置(int)
为此,您需要将FallingObject
构造函数更改为如下所示:
public void FallingObject(ClickerGame master, int index); //add whatever else is needed for Falling Object.
然后您可以按如下方式实例化该数组
for(int i = 0; i < 120; i++) {
fo[i] = new FallingObject(this, i ); //add anything else needed for the constructor
}
要从FallingObject
中调用此方法,只需引用“master”变量(您可能应该将其保存为类中的全局变量)。好的,答案是**一个秘密,很抱歉**。事实上,缺少的代码与您的问题相关,所以请发布它(检查如何执行此操作)或者删除该问题。我重新发送一个列表。它比arrayOk更具动态性,答案是**一个秘密,很抱歉**。事实上,缺少的代码是与您的问题相关的代码,所以请发布它(检查如何执行)或者删除该问题。我重新发送一个列表。它比arrayOk更具动态性,答案是**一个秘密,很抱歉**。事实上,缺少的代码是与您的问题相关的代码,所以请发布它(检查如何执行)或者删除问题。我重新提交一个列表。它比arrayOk更具动态性,答案是**一个秘密,很抱歉**。事实上,缺少的代码是与您的问题相关的代码,所以请发布它(检查如何执行a)或删除问题。我重新提交一个列表。它比数组更具动态性