Android Open Source - CatchDROP Poison Drop






From Project

Back to project page CatchDROP.

License

The source code is released under:

GNU General Public License

If you think the Android project CatchDROP listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package projects.nerdybuzz.catchdrop;
//from  w  ww .ja  v a 2 s . c  om
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.ParticleEffect;
import com.badlogic.gdx.graphics.g2d.ParticleEffectPool;
import com.badlogic.gdx.graphics.g2d.ParticleEffectPool.PooledEffect;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.utils.TimeUtils;

public class PoisonDrop extends FallingRect implements FallingAct {
  private static final long serialVersionUID = 1L;
  private ParticleEffect fireEffect;
  private ParticleEffectPool fireEffectPool;
  private PooledEffect firePEffect;
  private float bucketX;
  private float bucketY;
  private int poisonTimer;
  private long nowTimeInSeconds;
  private long lastTimeInSeconds;
  private BitmapFont timerFont;
  
  public PoisonDrop(final CDGame game) {
    super(game);
    x = MathUtils.random(0, game.GAME_WIDTH-64);
    y = game.GAME_HEIGHT;
    width = 64;
    height = 64;
    loseOnMiss = false;
    gainValue = 0;
    loseValue = 2;
    rectImg = new Texture("poison.png");
    
    poisonTimer = 10;
    nowTimeInSeconds = TimeUtils.nanosToMillis(TimeUtils.nanoTime())/1000;
    lastTimeInSeconds = nowTimeInSeconds;
    
    fireEffect = new ParticleEffect();
    fireEffect.load(Gdx.files.internal("fire.p"), Gdx.files.internal(""));
    fireEffectPool = new ParticleEffectPool(fireEffect, 1, 2);
    firePEffect = fireEffectPool.obtain();
  }
  
  public PoisonDrop(final CDGame game, float x, float y, BitmapFont timerFont) {
    super(game);
    this.x = x;
    this.y = y;
    width = 64;
    height = 64;
    loseOnMiss = false;
    gainValue = 0;
    loseValue = 2;
    rectImg = new Texture("poison.png");
    
    poisonTimer = 10;
    nowTimeInSeconds = TimeUtils.nanosToMillis(TimeUtils.nanoTime())/1000;
    lastTimeInSeconds = nowTimeInSeconds;
    
    fireEffect = new ParticleEffect();
    fireEffect.load(Gdx.files.internal("fire.p"), Gdx.files.internal(""));
    fireEffectPool = new ParticleEffectPool(fireEffect, 1, 2);
    firePEffect = fireEffectPool.obtain();
    
    this.timerFont = timerFont;
  }
  
  public void render(float delta) {
    game.batch.setProjectionMatrix(game.camera.combined);
    game.batch.begin();
    timerFont.setColor(Color.GREEN);
    if(ZenGame.activePoisonDrop)
      timerFont.draw(game.batch, game.secondsToTime(poisonTimer, false), game.GAME_WIDTH-130, game.GAME_HEIGHT-60);
    game.batch.end();
  }

  public void update(float delta) {
    nowTimeInSeconds = TimeUtils.nanosToMillis(TimeUtils.nanoTime())/1000;
    if(!game.paused && ZenGame.activePoisonDrop) {
      if(lastTimeInSeconds != nowTimeInSeconds) {
        poisonTimer--;
        lastTimeInSeconds = nowTimeInSeconds;
      }
      
      if(poisonTimer < 0) {
        finish();
      }
    }
    
    firePEffect.setPosition(GameScreen.bucket.x+64/2, GameScreen.bucket.y+64);
    firePEffect.update(delta);
    if(game.zenScore == 0) {
      finish();
    }
  }
  
  public void onMiss() {
    ZenGame.activePoisonDrop = false;
    ZenGame.spawnedPoisonDrop = false;
  }
  
  public void onGet() {
    GameScreen.effects.add(firePEffect);
    GameScreen.poisoned = true;
    ZenGame.activePoisonDrop = true;
  }
  
  public void onSpawn() {}
  
  public void onDispose() {
    rectImg.dispose();
    firePEffect.dispose();
    fireEffect.dispose();
  }
  
  public void dispose() {
    onDispose();
  }
  
  public void finish() {
    GameScreen.poisoned = false;
    firePEffect.reset();
    GameScreen.effects.removeValue(firePEffect, false);
    ZenGame.activePoisonDrop = false;
    ZenGame.spawnedPoisonDrop = false;
  }

}




Java Source Code List

android.UnusedStub.java
com.google.example.games.basegameutils.BaseGameActivity.java
com.google.example.games.basegameutils.BaseGameUtils.java
com.google.example.games.basegameutils.GameHelperUtils.java
com.google.example.games.basegameutils.GameHelper.java
projects.nerdybuzz.catchdrop.BurntToastObj.java
projects.nerdybuzz.catchdrop.CDGame.java
projects.nerdybuzz.catchdrop.ClassicGame.java
projects.nerdybuzz.catchdrop.EndScreen.java
projects.nerdybuzz.catchdrop.FallingAct.java
projects.nerdybuzz.catchdrop.FallingRect.java
projects.nerdybuzz.catchdrop.GameScreen.java
projects.nerdybuzz.catchdrop.KeySequence.java
projects.nerdybuzz.catchdrop.MainMenuScreen.java
projects.nerdybuzz.catchdrop.PoisonDrop.java
projects.nerdybuzz.catchdrop.SettingsScreen.java
projects.nerdybuzz.catchdrop.TimePowerUp.java
projects.nerdybuzz.catchdrop.ZenGame.java
projects.nerdybuzz.catchdrop.android.AndroidLauncher.java
projects.nerdybuzz.catchdrop.client.HtmlLauncher.java
projects.nerdybuzz.catchdrop.desktop.AppletLauncher.java
projects.nerdybuzz.catchdrop.desktop.DesktopLauncher.java
projects.nerdybuzz.catchdrop.googleservices.DesktopGoogleServices.java
projects.nerdybuzz.catchdrop.googleservices.IGoogleServices.java