0
你好,我正在制作一个程序,向你展示太空中不同的行星。 我在窗户的正中央和周围的所有行星都有太阳。 我想要行星绕太阳旋转,但我不知道我该如何做到这一点。请帮帮我。这里就是我画的行星和太阳到屏幕上的代码:Java围绕中心点旋转物体?
public class Solar1 extends BasicSystem {
private Image img;
public int px = 300,py = 300,px1 = 200,py1 = 200;
public Solar1() {
}
public void tick() {
}
public void render(Graphics g) {
ImageIcon i = new ImageIcon("res/bg/bg1.png");
img = i.getImage();
g.drawImage(img, 0,0, null);
ImageIcon i2 = new ImageIcon("res/planets/sun.png");
img = i2.getImage();
g.drawImage(img, Comp.size.width/2 - 50, Comp.size.height/2 - 50, null);
ImageIcon i12 = new ImageIcon("res/planets/blue.png");
img = i12.getImage();
g.drawImage(img, px,py, null);
ImageIcon i1112 = new ImageIcon("res/planets/green.png");
img = i1112.getImage();
g.drawImage(img, px1,py1, null);
}
}
我认为最简单的方法是设计行星轨道。为每个行星分配一个轨道速度。 (为简单起见,以毫秒为单位来完成旋转轨道)。您可以在开始时沿Y轴排列您的所有行星。假设你的渲染方法在一秒内运行了40次,你可以计算每个星球的新位置并相应地渲染它的位置。 – Alp