1

プレイヤーを回転させてマウスを追おうとしています。これを行うには、Graphics2D オブジェクトにキャストされた Graphics obj を使用し、rotate メソッドを使用します。ここに私のパネルドローがあります:

public void paint(Graphics g){
    g.setColor(Color.white);
    g.clearRect(0, 0, this.getWidth(), this.getHeight());
    player.draw(g);
    enemy.draw(g);
    mouseSelection.draw(g);
    wallBoard.draw(g);
    //draw the existing walls
    for(Wall w : walls)
        w.draw(g); 

    //draw the potential wall
    potentialWall.draw(g);

    //draw the lineWalls
    for(Wall w : lineWalls)
        w.draw(g);
}

私のローテーションはすべて player.draw(g) で行われていますが、情報が少ないよりは多いほうがよいと考えました。これが私のplayer.draw(g)です

    public void draw(Graphics g){
    //draw the player as a circle for now
    g.setColor(Color.black);
    Graphics2D g2d = (Graphics2D)g;
    g2d.drawOval(getX(), getY(), 20, 20);
    sword.draw(g2d);
    g2d.rotate(rotation);
    g2d.rotate(0);
}

g2d.rotate と図形の描画の多くの組み合わせを試しました。世界全体ではなく、プレイヤーと剣を回転させる方法について何かアドバイスはありますか?

4

1 に答える 1

2

プレーヤーを独自の画像 (独自のグラフィックス オブジェクトを使用) に描画し、その画像を回転させてから、その画像をメイン グラフィックスに描画します。

一時的な画像の透明度など、通過するのに厄介なハードルに遭遇する可能性がありますが、それらは少しの血の汗と涙で回避できないものではありません.

于 2012-11-23T20:59:08.160 に答える