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

时间:2015-07-20 02:39:37

标签: java

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

我已经尝试了我认为应该工作的唯一问题是布尔方法,我创建的总是返回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方法。

3 个答案:

答案 0 :(得分:6)

var pc = new RTCPeerConnection();
var dc = pc.createDataChannel("my channel");
var dc2 = pc.createDataChannel("my other channel");

dc.onclose = function () {
  console.log("datachannel close");
};

dc2.onclose = function () {
  console.log("dc2 close");
};

dc.close();
pc.close();

应该是

if(blank = true)

=将值true赋给变量空白

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

答案 1 :(得分:1)

把它放在你的方法中进行测试

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

答案 2 :(得分:1)

使用blank = true时,您要分配值而不是比较值。

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