我该如何制作以下物品?

时间:2014-11-20 02:51:00

标签: java

我是java的新手。所以,我正在尝试制作小行星游戏项目。我有这个点类

  class Point implements Cloneable {
     double x,y;
     public Point(double inX, double inY) { x = inX; y = inY; }

  public Point clone() {
      return new Point(x, y);
   }
   }

和带有点,点和整数数组的多边形类。      class Polygon {         私人Point []形状; //一系列点。         公共点位置; //上面提到的偏移量。         公共双转; //零度是正东方。

       public Polygon(Point[] inShape, Point inPosition, double inRotation) {
           shape = inShape;
           position = inPosition;
           rotation = inRotation;

    // First, we find the shape's top-most left-most boundary, its origin.
    Point origin = shape[0].clone();
        for (Point p : shape) {
        if (p.x < origin.x) origin.x = p.x;
        if (p.y < origin.y) origin.y = p.y;
    }

      // Then, we orient all of its points relative to the real origin.
    for (Point p : shape) {
       p.x -= origin.x;
      p.y -= origin.y;
    }
    }

..... ..... .... 在主要的小行星类。我想制作一个多边形,这是我的船。我怎样才能把参数放在这里?

public static void main (String[] args) {
        Asteroids a = new Asteroids();
        a.repaint();

我想创建一个多边形的对象 我试过这个

       Polygon p=new polygon({(0,2),(2,3),(3,1)},(2,3),3);

           p.repaint();

我没有正确地参数。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

在构造函数中,您需要创建一个类型为Point的数组,用于初始化新的Point个对象,如下所示:

new Point[] {new Point(0,2),new Point(2,3),new Point(3,1)}

然后定义一个新的Point

new Point(2,3)

所以你的构造函数调用看起来像这样:

Polygon p = new Polygon(
    new Point[] {new Point(0,2),new Point(2,3),new Point(3,1)},
    new Point(2,3),
    3);