Android Open Source - Marble-Run Hole






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.entity;
//  w  ww.  j a  va  2  s.  c o m
import nttu.edu.graphics.Art;
import nttu.edu.graphics.RenderView;
import nttu.edu.level.Stage;
import android.graphics.Canvas;

public class Hole extends Terrain {
  public float radius;
  private int slideNumber;
  
  public Hole(float x, float y, float ratio) {
    // (x,y) is the center of the hole.
    //Size of radius = 4.
    //
    super(x, y);
    this.bitmap = Art.animatedHole;
    this.radius = 16 * ratio;
    this.slideNumber = 0;
    srcRect.set(0, 0, 16, 16);
    dstRect.set(this.x - this.radius, this.y - this.radius, this.x + this.radius, this.y + this.radius);
  }
  
  @Override
  public void tick(Stage s) {
    if (bitmap == null) {
      bitmap = Art.animatedHole;
      return;
    }
    dstRect.set(this.x - this.radius, this.y - this.radius, this.x + this.radius, this.y + this.radius);
    slideNumber = slideNumber >= 15 ? 0 : slideNumber + 1;
  }
  
  @Override
  public void render(Canvas c, final float cx, final float cy) {
    if (bitmap != null) {
      int horizontal = (slideNumber % 4 * 16);
      int vertical = (slideNumber / 4 * 16);
      srcRect.set(horizontal, vertical, horizontal + 16, vertical + 16);
      float xOffset = this.x - RenderView.cameraX + cx;
      float yOffset = this.y - RenderView.cameraY + cy;
      if (RenderView.bounds.contains(xOffset, yOffset)) {
        move(xOffset, yOffset);
        c.drawBitmap(bitmap, srcRect, dstRect, null);
      }
    }
  }
  
  private void move(float f, float g) {
    if (bitmap != null) {
      dstRect.set(f - this.radius, g - this.radius, f + this.radius, g + this.radius);
    }
  }
}




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