我正在尝试使用java绘制线和椭圆
我试图为游戏创建一个类似狙击手的形象,但它不允许我这样做。它是如何显示的: 即使我移动鼠标,我也希望它看起来像什么:我正在尝试使用java绘制线和椭圆,java,Java,我试图为游戏创建一个类似狙击手的形象,但它不允许我这样做。它是如何显示的: 即使我移动鼠标,我也希望它看起来像什么: 你要做的是告诉java椭圆或椭圆左上角的x和y位置,不管你怎么称呼它。 基本java没有中心平移功能,您需要自己计算椭圆的宽度/2和高度/2。替换 public class MousePointer extends GameFigure { public final int SIZE = 10; public MousePointer(int x, int
你要做的是告诉java椭圆或椭圆左上角的x和y位置,不管你怎么称呼它。 基本java没有中心平移功能,您需要自己计算椭圆的宽度/2和高度/2。替换
public class MousePointer extends GameFigure {
public final int SIZE = 10;
public MousePointer(int x, int y){
super(x,y);
}
@Override
public void render(Graphics2D g2) {
g2.setColor(Color.CYAN);
g2.drawLine((int)location.x - SIZE,(int) location.y,
(int) location.x + SIZE, (int)location.y);
g2.drawLine((int)location.x, (int)location.y - SIZE,
(int)location.x,(int)location.y + SIZE);
g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,(int)location.x-SIZE,(int)location.y - SIZE);
}
@Override
public void update() {
// NA/
}
@Override
public int getCollisionRadius() {
return 0;
}
}
与
更新:
试着用
g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,SIZE,SIZE);\
@格伦马修-我希望这个解决方案对你有用。不要忘记接受答案,这样将来的访问者也可以自信地使用解决方案。检查以了解如何做。如有任何疑问/问题,请随时发表评论。
g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,SIZE,SIZE);\
g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,SIZE*2,SIZE*2);