0
我正在進行一項任務,以在400x400顯示面板上生成2個astroids(非小行星)。通過一種叫做「drawAstroids」的方法,我能夠做出第一個,但是我在製作第二個方面遇到了一些麻煩。而不是讓操作: 2 astroids 這是發生了什麼: 1 astroid and one yuck!如何縮小astroid
我想我可能只是改變規模與第二種方法的大小設置,但我似乎無法使第二一個看起來像一個第一個較小的版本。這是我的代碼到目前爲止。任何提示如何解決這個問題將不勝感激。
import java.awt.*;
public class GraphicsProject
{
//main method
public static void main (String[]args){
//Initialize the variable
//The Window is 400 x 400 pixels in size
DrawingPanel panel = new DrawingPanel (400,400);
panel.setBackground(Color.BLACK);
Graphics g = panel.getGraphics();
g.setColor(Color.GREEN);
drawAstroid1(g,0,0,400);
g.setColor(Color.BLUE);
drawAstroid2(g,0,0,200);
}
public static void drawAstroid1(Graphics g, int x, int y, int size){
int scale = size/40;
for (int i = 0; i <= 20; i++){
g.drawLine(x + size/2, y + scale * i, size/2 + scale * i, size/2);
g.drawLine(x + size/2, y + scale * i, 200 - scale * i, size/2);
g.drawLine(x + size/2, size - scale * i, 200 - scale * i, size/2);
g.drawLine(x + size/2, size - scale * i, size/2 + scale * i, size/2);
}
}
public static void drawAstroid2(Graphics g, int x, int y, int size){
int scale = size/40;
for (int i = 0; i <= 20; i++){
g.drawLine(x + size/2, y + scale * i, size/2 + scale * i, size/2);
g.drawLine(x + size/2, y + scale * i, 200 - scale * i, size/2);
g.drawLine(x + size/2, size - scale * i, 200 - scale * i, size/2);
g.drawLine(x + size/2, size - scale * i, size/2 + scale * i, size/2);
}
}
}
你說得對。我已經將硬編碼的200更改爲size/2,並在之後正常工作。謝謝。 – Gerald