【发布时间】:2012-11-24 04:59:08
【问题描述】:
我正在尝试旋转玩家以跟随鼠标。为此,我使用转换为 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 和绘制形状的组合。关于我如何旋转玩家和剑而不是整个世界本身的任何建议?
【问题讨论】:
-
你可以看看this,它会根据鼠标光标的位置旋转图像
-
嗯,这就是我已经在做的事情。我遇到的问题是图形绘制的所有内容都被旋转了,而不仅仅是我想要旋转的一个圆圈和一个矩形。
-
我目前已经编写了该代码,但由于某种原因它没有围绕正确的轴旋转。
-
酷我成功了,非常感谢!!! :D:D:D
标签: java