1

mousePressedメソッドでは、グラフィック関連のメソッドを使用できません。たとえば、このコードは実行されますが、機能しません。

import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.StateBasedGame;

public class Control extends BasicGameState {
public static final int ID = 1;

public Graphics g = new Graphics();

public void init(GameContainer container, StateBasedGame game) throws SlickException{
}

public void render(GameContainer container, StateBasedGame game, Graphics g) throws SlickException {
}

public void update(GameContainer container, StateBasedGame game, int delta) {
}

public void mousePressed(int button, int x, int y){
    g.drawRect(x,y,2,2);
}

public int getID() {
    return ID;
}

}

グラフィック指向のものがメソッドを実行できないのはなぜですか?

ありがとう-シャムス

4

2 に答える 2

0

それは絵画の仕組みではありません。塗装はリペイントマネージャーの責任です。

ペイントするタイミングを通知するには、適切なメソッドをオーバーライドする必要があります。

見て

于 2012-10-07T08:22:32.270 に答える
0

マウス イベントで何かを描画しようとする代わりに、repaint()関数を呼び出してみませんか? 関数のグラフィックス コマンドを保存しますpaint()

于 2012-10-08T03:07:08.147 に答える