在java中使用movePolar方法以圆周运动方式移动GOval对象
我目前正在使用ACM图形库创建一个小项目,在这个项目中,您必须使用该方法移动球(或对象)以圆周运动。到目前为止,我知道在在java中使用movePolar方法以圆周运动方式移动GOval对象,java,graphics,acm-java-libraries,Java,Graphics,Acm Java Libraries,我目前正在使用ACM图形库创建一个小项目,在这个项目中,您必须使用该方法移动球(或对象)以圆周运动。到目前为止,我知道在movePolar()中有两个参数,其中第一个r参数是要移动的距离,第二个参数是要移动的角度。但是我不知道如何使用movePolar()方法使球做圆周运动。我尝试过使用多个movePolar(1,90),movePolar(1,45),但仍然没有达到我想要的目标。这是我的密码: import java.awt.Color; import java.awt.event.Actio
movePolar()
中有两个参数,其中第一个r
参数是要移动的距离,第二个参数是要移动的角度。但是我不知道如何使用movePolar()
方法使球做圆周运动。我尝试过使用多个movePolar(1,90)
,movePolar(1,45)
,但仍然没有达到我想要的目标。这是我的密码:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import acm.graphics.*;
import acm.program.*;
public class ColorCircleDecomp extends GraphicsProgram implements ActionListener {
public static final int PROGRAM_WIDTH = 800;
public static final int PROGRAM_HEIGHT = 600;
public static final int BALL_SIZE = 50;
public static final int DELAY_MS = 25;
private GOval ball;
//TODO create a private GOval here
public void run() {
//TODO add your ball here
Timer t = new Timer(DELAY_MS, this);
ball = new GOval(300,300,BALL_SIZE,BALL_SIZE);
add(ball);
t.start();
}
@Override
public void actionPerformed(ActionEvent e) {
ball.movePolar(1,90);
ball.movePolar(1,0);
ball.movePolar(1, 270);
ball.movePolar(1, 180);
}
public void init() {
setSize(PROGRAM_WIDTH, PROGRAM_HEIGHT);
}
}
我会在tw课上解释更多
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import acm.graphics.*;
import acm.program.*;
public class ColorCircleDecomp extends GraphicsProgram implements ActionListener {
public static final int PROGRAM_WIDTH = 800;
public static final int PROGRAM_HEIGHT = 600;
public static final int BALL_SIZE = 50;
public static final int DELAY_MS = 25;
int i = 0;
private GOval ball;
public void run() {
ball = new GOval (370, 540, BALL_SIZE, BALL_SIZE);
Timer t = new Timer(DELAY_MS, this);
t.start();
}
@Override
public void actionPerformed(ActionEvent e) {
Color color = new Color(0, 0, 255);
add(ball);
i+=30;
ball.setColor(color);
ball.movePolar(130, i);
}
public void init() {
setSize(PROGRAM_WIDTH, PROGRAM_HEIGHT);
}
}