繁体   English   中英

如何检查是否已调用某种方法?

[英]How to check if a certain method has been called?

我正在尝试为我正在创建的这个游戏制作一个弹出效果,并且在尝试检查方法是否已被调用时遇到了问题。

我已经采取了我认为应该工作的唯一问题是布尔方法,并且我创建的始终返回true?

以下是我认为导致问题的类的代码:

public class Handler {
    LinkedList<GameObject> object = new LinkedList<GameObject>();
    public static boolean blank = false;
    public void tick(){
        for(int i = 0; i < object.size();i++){
            GameObject tempObject = object.get(i);

            tempObject.tick();
        }

    }

    public void render(Graphics g){
        for(int i = 0; i < object.size();i++){
            GameObject tempObject = object.get(i);

            tempObject.render(g);
        }

    }

    public void addObject(GameObject object){
        this.object.add(object);
    }

    public void removeObject(GameObject object){
        blank = true;
        this.object.remove(object);
    }
    public static boolean hasObjectRemoved(){
        if(blank = true){
            blank = false;
            return true;
        }
        return false;
    }

}

如您所见,我正在尝试检查是否已调用removeObject方法。

if(blank = true)

应该

if(blank == true)

=将值true赋给变量空白

==会问问题是空白等于真

把它放在你的测试方法中

System.out.println("removeObject method");

当您使用blank = true ,您将分配值而不是比较该值。

虽然您可以将其替换为blank == true ,这样可以正常工作,但根本不需要使用==运算符。 相反,使用if (blank)来检查它是否为true,以及if (!blank)来检查它是否为false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM