0
這裏是地球類:試圖創建一個隨機「太陽系」
public class Planet extends CelestialBody {
private static Random r = new Random();
private static Star star;
public Planet(Star star, int orbitRadius, int x, int y){
name = "PLACEHOLDER";
radius = Tools.intBetween(Settings.MAX_PLANET_SIZE, Settings.MIN_PLANET_SIZE);
color = Tools.rObjFromArray(Settings.PLANET_COLORS);
this.star = star;
this.orbitRadius = orbitRadius;
this.x = x; this.y = y;
}
public static Planet createNewPlanet(Star star, int orbitRadius){
int px = (int) (star.x + orbitRadius * Math.cos(Math.toRadians(r.nextInt(360))));
int py = (int) (star.y + orbitRadius * Math.sin(Math.toRadians(r.nextInt(360))));
return new Planet(star, orbitRadius, px, py);
}
public void render(Graphics g){
//Draw orbit
g.setColor(Color.white);
g.drawOval(star.x - orbitRadius, star.y - orbitRadius, orbitRadius * 2, orbitRadius * 2);
//Draw planet
g.setColor(color);
g.fillOval(x - radius, y - radius, radius * 2, radius * 2);
}
}
orbitRadius = distance from planet to star (random);
radius = planet's radius (random)
問的意見,如果你需要更多的代碼,我知道這是一個noob問題,但我就是不明白,爲什麼軌道不與行星排隊。謝謝。
歡迎計算器!乍一看,你的代碼看起來很好。你可以發佈Planet類的其餘部分嗎?如果你想讓它更容易爲人們幫助,你可以嘗試做一個[Minmal,完全和可驗證的示例](http://stackoverflow.com/help/mcve)。 – 11684
沒關係,我想通了,問題是什麼。 – 11684
我在全班編輯。 – Tom