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)或删除问题。我重新提交一个列表。它比数组更具动态性