Android Open Source - LucyTheMoocher Loop Game






From Project

Back to project page LucyTheMoocher.

License

The source code is released under:

MIT License

If you think the Android project LucyTheMoocher 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 com.lucythemoocher.loops;
//from  ww w.j a  va  2s .co  m
import android.view.KeyEvent;

import com.lucythemoocher.Globals.Globals;
import com.lucythemoocher.controls.GlobalController;
import com.lucythemoocher.controls.KeysListener;
import com.lucythemoocher.util.Timer;

/**
 * Loop used for the Game, when player is playing (haha)
 */
public class LoopGame extends Loop implements KeysListener {

  private Timer lifeTime_;
  private int level_;
  
  /**
   * Public constructor
   * This constructor won't reset or launch the game. The
   * game's instance should already have been initialized
   * and game will continue.
   */  
  public LoopGame() {
    registerKeys();
    lifeTime_ = new Timer(0);
  }
  
  /**
   * Public constructor
   * By specifying the level, you will reset the game and launch
   * a new level. Use the default constructor to continue game.
   * @param level
   */
  public LoopGame(int level) {
    this();
    level_ = level;
  }
  
  @Override
  protected void load() {
    Globals.getInstance().getGame().load(level_);
  }
  
  @Override
  protected void start() {
    Globals.getInstance().getGame().start();
  }
  
  @Override
  protected void pause() {
    Globals.getInstance().getGame().pause();
  }
  
  @Override
  protected void resume() {
    registerKeys();
    Globals.getInstance().getGame().resume();
  }
  
  @Override
  protected void stop() {
    Globals.getInstance().getGame().stop();
  }
  
  @Override
  public void update() {
    Globals.getInstance().getGame().update();
  }
  
  /**
   * Called for each rendering if this is the current loop
   * Don't compute anything here, prefer update
   */  
  public void render() {
    Globals.getInstance().getGame().render();
  }
  
  public void onLeaveLoop() {
    unregisterKeys();
  }
  
  public void registerKeys() {
    GlobalController.getInstance().registerKey(this);
  }

  @Override
  public void unregisterKeys() {
    GlobalController.getInstance().unregisterKey(this);
  }

  public void onKeyDown(int KeyCode, KeyEvent event) {
    if (KeyCode == KeyEvent.KEYCODE_BACK && lifeTime_.timeFromCreation() > 100 &&  event.getRepeatCount() == 0) {
      changeCurrentLoop(new LoopPause(this));
    }
  }

}




Java Source Code List

com.lucythemoocher.LucyTheMoocherActivity.java
com.lucythemoocher.FX.FXManager.java
com.lucythemoocher.FX.FX.java
com.lucythemoocher.Globals.Globals.java
com.lucythemoocher.actors.Actor.java
com.lucythemoocher.actors.ActorsManager.java
com.lucythemoocher.actors.Monster.java
com.lucythemoocher.actors.MonstersManager.java
com.lucythemoocher.actors.PlayerCharacter.java
com.lucythemoocher.actors.Projectile.java
com.lucythemoocher.actors.ProjectilesManager.java
com.lucythemoocher.actors.Tank.java
com.lucythemoocher.actors.TargetCharacter.java
com.lucythemoocher.actors.maincharacter.state.StateAttack.java
com.lucythemoocher.actors.maincharacter.state.StateFalling.java
com.lucythemoocher.actors.maincharacter.state.StateJumping.java
com.lucythemoocher.actors.maincharacter.state.StateNone.java
com.lucythemoocher.actors.maincharacter.state.StateRunning.java
com.lucythemoocher.actors.maincharacter.state.StateWallSliding.java
com.lucythemoocher.actors.maincharacter.state.StateWallWalking.java
com.lucythemoocher.actors.maincharacter.state.State.java
com.lucythemoocher.controls.AIController.java
com.lucythemoocher.controls.ActionController.java
com.lucythemoocher.controls.ButtonListener.java
com.lucythemoocher.controls.Controllable.java
com.lucythemoocher.controls.Controller.java
com.lucythemoocher.controls.GlobalController.java
com.lucythemoocher.controls.KeysListener.java
com.lucythemoocher.controls.TouchListener.java
com.lucythemoocher.events.EventNormal.java
com.lucythemoocher.events.EventSlow.java
com.lucythemoocher.events.Event.java
com.lucythemoocher.game.GameThread.java
com.lucythemoocher.game.Game.java
com.lucythemoocher.game.LevelLoader.java
com.lucythemoocher.graphics.ActorDrawer.java
com.lucythemoocher.graphics.Animation.java
com.lucythemoocher.graphics.Background.java
com.lucythemoocher.graphics.Camera.java
com.lucythemoocher.graphics.Drawable.java
com.lucythemoocher.graphics.Grid.java
com.lucythemoocher.graphics.HUD.java
com.lucythemoocher.graphics.Image.java
com.lucythemoocher.graphics.PersistentEffect.java
com.lucythemoocher.graphics.PersistentPic.java
com.lucythemoocher.graphics.PictureContainer.java
com.lucythemoocher.gui.MenuButtonListener.java
com.lucythemoocher.gui.MenuButtonTouchListener.java
com.lucythemoocher.gui.MenuButton.java
com.lucythemoocher.loops.CreditsLoop.java
com.lucythemoocher.loops.GameOverLoop.java
com.lucythemoocher.loops.InitMenuLoop.java
com.lucythemoocher.loops.LivesMenuLoop.java
com.lucythemoocher.loops.LoopGame.java
com.lucythemoocher.loops.LoopPause.java
com.lucythemoocher.loops.Loop.java
com.lucythemoocher.loops.MasterLoop.java
com.lucythemoocher.physics.Box.java
com.lucythemoocher.physics.Cinematic.java
com.lucythemoocher.physics.Map.java
com.lucythemoocher.sounds.SoundManager.java
com.lucythemoocher.sounds.SoundsState.java
com.lucythemoocher.sounds.StateLevel1.java
com.lucythemoocher.sounds.StateLevel2.java
com.lucythemoocher.sounds.StateLevel3.java
com.lucythemoocher.sounds.StateNormal.java
com.lucythemoocher.util.Direction.java
com.lucythemoocher.util.MathUtil.java
com.lucythemoocher.util.Resources.java
com.lucythemoocher.util.Timer.java