我正在尝试使用类创建游戏,在该类中,对象移动到随机位置并使用数组以将其随机添加。有人可以帮我更好地编写此代码,因为它无法正常工作吗?顺便说一下,我正在使用软件“ Processing”。

我的密码

我的课

*final color ALIEN_COLOR = color(30, 100, 0);
 PImage background;
 int x=0; //global variable background location
 Superhero hero1;
 Alien [] invader1 = new Alien[8];
 void setup(){

   size(800,400);
   background = loadImage("spaceB.jpg");
   background.resize(width,height);

   hero1 = new Superhero(10, height/2);

   for(int i = 0; i < invader1.length; i++){
     invader1[i] = new Alien();
     invader1 = new Alien(width,300);
  }

  } // setup ends
   void draw ()
 {
   drawBackground();
   hero1.render();
   invader1.render();

   if(invader1.move() == false){
   invader1 =  new Alien(width, 500);
  }

  } // draw ends*


和对象为:

  ***class Alien{
     int x;
     int y;

   Alien(int x, int y){
    this.x = x;
    this.y = y;
   }

  void render(){
    fill(ALIEN_COLOR);
    rect(x, y, 50, 50);
   }

  boolean move(){
    x = x - 1;
    return (x >= 0);
  }
 }***


我收到的错误消息是:


构造函数Alien()不存在。
不匹配,Defenders.Alien不匹配Defenders.Alien []

最佳答案

您正在调用invader1[i] = new Alien();,但是在Alien类中没有no-arg构造函数。声明Alien类中的无参数构造函数,以解决此问题:

Alien() {
    // Put here some initialization code if needed else leave it as it is
}

10-07 14:27