0

私が書いているゲームのタイマーにアクションリスナーをリンクしようとしています。タイマーが作動するたびに、2D配列のモンスターは1つの隣接するタイルにランダムに移動します。アレイは完全にモンスターでいっぱいではありません。モンスターがいない場合、私の配列はnullになります。

これが私がこれまでに持っているものです:

private class MonsterListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        for (int i = 0; i < Level.SIZE; i++) {
            for (int j = 0; j < Level.SIZE; j++) {
                if (monsters[i][j] != null) {
                    monsters[i][j].update();
                }
            }
        }
        updateState();
    }
}

そして私のモンスタークラスの中で:

public void update() {
        rand1 = new Random();
        rand2 = new Random();
        drow = rand1.nextInt(3); //random int 0,1,2
        dcol = rand2.nextInt(3); //random int 0,1,2
        drow -= 1; //random int -1,0,1
        dcol -= 1; //random int -1,0,1

        row += drow;
        col += dcol;
    }   

タイマーを作成するとき、これを行います

public final int DELAY = 1000;
Timer myTimer = new Timer(DELAY, new MonsterListener());

ただし、次のようなエラーが発生し続けます

cannot find symbol
symbol  : constructor Timer(int,Game.MonsterListener)
location: class java.util.Timer
    myTimer = new Timer(DELAY, listener);
                      ^
4

1 に答える 1

2

javax.swing.Timer代わりに使う必要があると思いますjava.util.Timer

[使用しているのでこれは疑わしいActionListener]

于 2012-11-26T20:32:52.080 に答える