Enemy.java :  » UnTagged » wargfndev » com » example » android » firstflixelgame » Android Open Source

Android Open Source » UnTagged » wargfndev 
wargfndev » com » example » android » firstflixelgame » Enemy.java
package com.example.android.firstflixelgame;

import java.util.ArrayList;
import java.util.Arrays;

import org.flixel.FlxEmitter;
import org.flixel.FlxG;
import org.flixel.FlxSprite;

public class Enemy extends FlxSprite 
{
  protected static final float VELOCITY = 100;
  protected int maxXMovement = 0;
  protected int startX = 0;
  protected FlxEmitter gibs = null;
  
  public Enemy(int x, int y, int maxXMovement)
  {
    super(x, y, R.drawable.enemy, true);
    this.y -= this.height;
    this.maxXMovement = maxXMovement - this.width;
    this.startX = x;
    this.velocity.x = VELOCITY;
    
    addAnimation("idle", new ArrayList(Arrays.asList(new Integer[] {0,1})),12);
    
    play("idle");
    
    this.gibs = FlxG.state.add( 
        new FlxEmitter(0, 0, -1.5f)
        .setXVelocity(-150.0f, 150.0f)
        .setYVelocity(-200.0f, 0.0f)
        .setRotation(-720, 720)
        .setGravity(400)
        .createSprites(R.drawable.enemygibs)); 
    }
  
  public void update()
  {
  super.update();
  
  if (this.x - startX >= maxXMovement || this.x <= startX)
    {
      this.velocity.x = -this.velocity.x;
    }
  }
  
  public void kill()
  {
    FlxG.play(R.raw.enemy);
    super.kill();
    
    this.gibs.x = this.x + (this.width>>1);
    this.gibs.y = this.y + (this.height>>1);
    this.gibs.restart();
  }
}
  
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.