阅读背景:

libgdx生成后的临时精灵运动

来源:互联网 
public class Player {
    private Sprite enemy;

    public Rectangle bounds;
    private SpriteBatch batch;
    private float deltaTime;
    private float timer;

    private ArrayList<Sprite> enemies;
    private Iterator<Sprite> enemyIterator;
    private ArrayList<Vector2> posCoordinate;
    Sprite newEnemy;

    public void create(){
        batch=new SpriteBatch();
        timer=0;

        enemy=new Sprite(new Texture(Gdx.files.internal("spr_player.png"))); 
        bounds=new Rectangle(200,700,82,80);

        enemies=new ArrayList<Sprite>();
        posCoordinate=new ArrayList<Vector2>();
        newEnemy=Pools.obtain(Sprite.class);

    }

    public void update(){
        deltaTime=Gdx.graphics.getDeltaTime();
        enemyIterator=enemies.iterator();
        timer+=1*deltaTime;

        if(timer>=1f){
            newEnemy();  //method called every second
            timer-=1;
        }

    }

    public void newEnemy(){

        Vector2 position=Pools.obtain(Vector2.class); //vector2 is created for each enemy every second.
        position.set(200,700);
        posCoordinate.add(position);

        newEnemy=Pools.obtain(Sprite.class); //enemy created every second
        newEnemy.set(enemy);

        enemies.add(newEnemy);
    }

    public void draw(SpriteBatch batch){

        //this is where the enemy position is set and movement
        for(Sprite enemy:enemies){
            enemy.draw(batch);
        }for(Vector2 position:posCoordinate){
            newEnemy.setPosition(position.x,position.y);
            position.y-=2;

        }
            }

        }
public class Player {
    private Sprite enemy;



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: