我有一个简单的问题,我无法找到答案。在eclipse中,我有一个简单的GRect
和GOval
。如何将它们顺时针旋转90度?
我尝试了move
和movePolar
但它没有任何效果。这是代码:
import acm.graphics.*;
import acm.program.*;
import java.awt.*;
public class asd extends GraphicsProgram {
public void run() {
double x = (getWidth() - FIGURE_WIDTH) / 2;
double y = (getHeight() - FIGURE_HEIGHT) / 2;
GRect rect = new GRect(x, y, FIGURE_WIDTH, FIGURE_HEIGHT);
rect.setFilled(true);
rect.setColor(Color.RED);
add(rect);
GOval oval = new GOval(x, y, FIGURE_WIDTH, FIGURE_HEIGHT);
oval.setFilled(true);
oval.setFillColor(Color.GREEN);
add(oval);
}
我想顺时针旋转90度。
答案 0 :(得分:0)
您无法在acm.graphics中旋转除GPolygon以外的任何对象。您可以轻松地将GRect建模为GPolygon,但我认为GOval必须用多边形近似才能使用此方案。
如果您的轮换有限,我认为作为下一个最佳课程,您可以在GOval的情况下创建多个对象。例如,如果创建ovalH和ovalV,则可以进行0度,90度,180度和270度旋转。
答案 1 :(得分:0)
您可以使用rotate()方法在ACM库中实际旋转GObject形状。例如:
GRect rect1 = new GRect(100, 100, 50, 50);
rect1.setFilled(true);
add(rect1);
rect1.rotate(90);
但是,这个的支点是左上角。