Android Open Source - Marble-Run Pipe






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;
//from  w w w  .j av  a  2  s .co  m
import nttu.edu.ball.Ball;
import nttu.edu.ball.Marble;
import nttu.edu.graphics.Art;
import nttu.edu.graphics.RenderView;
import nttu.edu.level.Stage;
import android.graphics.Canvas;

public class Pipe extends Path {
  public Pipe() {
  }
  
  @Override
  public void tick(Stage l) {
    place();
    checkCollision(l.cue);
    for (Marble m : l.marbles)
      checkCollision(m);
  }
  
  @Override
  public void render(Canvas c, final float cx, final float cy) {
    if (bitmap != null) {
      float xOffset = this.position[0] - RenderView.cameraX + cx;
      float yOffset = this.position[1] - RenderView.cameraY + cy;
      if (RenderView.bounds.contains(xOffset, yOffset)) {
        move(xOffset, yOffset);
        c.drawBitmap(bitmap, srcRect, dstRect, null);
      }
    }
    else
      bitmap = Art.sprites;
  }
  
  private void move(float f, float g) {
    if (bitmap != null) {
      float size = 8 * PIPE_SIZE * ratio;
      dstRect.set(f - size, g - size, f + size, g + size);
    }
  }
  
  public boolean checkCollision(Ball b) {
    if (b.position[0] > dstRect.left && b.position[0] < dstRect.right && b.position[1] > dstRect.top && b.position[1] < dstRect.bottom) {
      b.setPipe(this);
      return true;
    }
    else if (b.getPipe() != null && b.getPipe() == this)
      b.setPipe(null);
    return false;
  }
  
  @Override
  public void place() {
    //TODO: ???  Possibly not in need.
    float size = 8 * PIPE_SIZE * ratio;
    dstRect.set(position[0] - size, position[1] - size, position[0] + size, position[1] + size);
  }
}




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