Android Open Source - Marble-Run H U D






From Project

Back to project page Marble-Run.

License

The source code is released under:

Apache License

If you think the Android project Marble-Run 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 nttu.edu.level;
// w w w  .j  av  a 2  s.  co m
import java.util.ArrayList;
import java.util.List;
import nttu.edu.ball.Marble;
import nttu.edu.graphics.Art;
import nttu.edu.graphics.RenderView;
import nttu.edu.hud.Compass;
import nttu.edu.hud.GoalCompass;
import nttu.edu.hud.HUDMenu;
import nttu.edu.hud.HUDScore;
import nttu.edu.hud.MarbleCompass;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;

public class HUD {
  public Bitmap bitmap;
  public float[] position = new float[2];
  public List<Compass> compasses = new ArrayList<Compass>();
  public Matrix matrix;
  public HUDMenu menu;
  public HUDScore score;
  
  public HUD() {
    matrix = new Matrix();
    bitmap = Art.hud;
    menu = new HUDMenu();
    score = new HUDScore();
  }
  
  public void setPosition(float x, float y) {
    position[0] = x;
    position[1] = y;
    matrix.postTranslate(x, y);
    //Scale (x,y) = (2*4px,2*4px) = (8,8), 4px is distance from top left corner of HUD to menu button top left corner.
    menu.setPosition(x + 8, y + 8);
    //Not needed.
    //score.setPosition(x + 70 * RenderView.AspectRatio, y + 35 * RenderView.AspectRatio);
  }
  
  public void setScale(float x, float y) {
    matrix.setScale(x, y);
    menu.setScale(x * 1.1f, y * 1.1f);
  }
  
  public void addCompass(Stage s) {
    Compass compass = null;
    for (Marble m : s.marbles) {
      compass = new MarbleCompass(m);
      compass.setPosition(position[0] + 30 * RenderView.AspectRatio, position[1] + 30 * RenderView.AspectRatio);
      compasses.add(compass);
    }
    compass = new GoalCompass(s.hole);
    compass.setPosition(position[0] + 15f * RenderView.AspectRatio, position[1] + 45f * RenderView.AspectRatio);
    compasses.add(0, compass);
  }
  
  public void tick(Stage s) {
    if (!compasses.isEmpty()) {
      for (Compass c : compasses) {
        if (c != null)
          c.tick();
      }
    }
    score.tick(s);
  }
  
  public void render(Canvas c) {
    if (bitmap != null) {
      c.drawBitmap(bitmap, matrix, null);
      menu.render(c);
      score.render(c);
      if (!compasses.isEmpty())
        for (Compass compass : compasses)
          if (compass != null)
            compass.render(c);
    }
  }
  
  public boolean detectKeyPress(float x, float y) {
    if (menu.area.contains(x, y))
      return true;
    return false;
  }
  
  public void clean() {
    while (!compasses.isEmpty())
      compasses.remove(0);
    score.clear();
  }
}




Java Source Code List

nttu.edu.activities.LevelSelectionActivity.java
nttu.edu.activities.MenuActivity.java
nttu.edu.activities.NewLoadingActivity.java
nttu.edu.activities.PlayActivity.java
nttu.edu.activities.ScoreActivity.java
nttu.edu.activities.SettingsActivity.java
nttu.edu.alt.NewBall.java
nttu.edu.alt.NewCue.java
nttu.edu.alt.NewHole.java
nttu.edu.alt.Obstacle.java
nttu.edu.ball.Ball.java
nttu.edu.ball.Cue.java
nttu.edu.ball.Marble.java
nttu.edu.entity.Border.java
nttu.edu.entity.Bumper.java
nttu.edu.entity.Coin.java
nttu.edu.entity.Connector.java
nttu.edu.entity.CurvePipe.java
nttu.edu.entity.Entity.java
nttu.edu.entity.Funnel.java
nttu.edu.entity.Hole.java
nttu.edu.entity.Path.java
nttu.edu.entity.Pipe.java
nttu.edu.entity.Ramp.java
nttu.edu.entity.ShortFunnel.java
nttu.edu.entity.Tee.java
nttu.edu.entity.Terrain.java
nttu.edu.entity.Void.java
nttu.edu.graphics.Art.java
nttu.edu.graphics.RenderView.java
nttu.edu.handler.Accelero.java
nttu.edu.handler.ImageInfo.java
nttu.edu.handler.Info.java
nttu.edu.handler.Loading.java
nttu.edu.handler.ModPlayer.java
nttu.edu.handler.MusicHandler.java
nttu.edu.hud.BestScore.java
nttu.edu.hud.Compass.java
nttu.edu.hud.GoalCompass.java
nttu.edu.hud.HUDMenu.java
nttu.edu.hud.HUDScore.java
nttu.edu.hud.MarbleCompass.java
nttu.edu.hud.TimeBasedScore.java
nttu.edu.level.HUD.java
nttu.edu.level.Stage.java
nttu.edu.score.Format.java
nttu.edu.score.Score.java
nttu.edu.sound.Sound.java