0

我正在使用 libgdx 在 java 中做我的第一个游戏。这是一款射击游戏,我的敌人 AI 有一个问题:我不能让他们移动或射击子弹,他们只是在随机位置生成并停留在那里。这是我在Enemy课堂上的内容:

import java.util.Random;

import View.World;

import com.badlogic.gdx.math.Vector2;

public class Enemy {

private static final Random r = new Random();
    float ROTATION_SPEED = 500;
    int x = r.nextInt(36); //top x
    int y = r.nextInt(24); //top y
    Vector2 vect = new Vector2(x,y);




    public Follower(float SPEED, float rotation, float width, float height,
                    Vector2 position) {
            super(SPEED, rotation, width, height, position);
    }

    public void move (Vector2 position){
        getPosition().x =+ 5;
        getPosition().y =+ 5;
    }
    @Override
    public void advance(float delta, Esfera ship) {

      position.lerp(vect, delta);

        rotation += delta * ROTATION_SPEED;

        if(rotation > 360)
                rotation -= 360;

        super.update(ship);
       if(vect.equals(this.getPosition())){
            x = r.nextInt(36);
            y = r.nextInt(24);

       }

}

在我的世界级中,我得到了这个来产生敌人:

public class World {

//More variable declarations

Iterator<Follower> eIter;
int Timer = 0;
int counter;
float x = 0;
float y = 0;

public float randFloat(float Min, float Max) {
    return Min + (float)(Math.random() * (Max - Min + 1));
}
public void update(){
    Timer++;
    if(counter < 40){
        if(Timer % 100 == 0){
            float x = randFloat(0, 50.0f);
            float y = randFloat(0, 50.0f);
            enemies.add(new Follower(5f, 0, 1, 1, new Vector2(x, y)));

            counter++;
        }
    }

}

我应该采取什么措施来至少不断地移动我的敌人?

4

0 回答 0