Android Open Source - GameEngine Android Fast Render View






From Project

Back to project page GameEngine.

License

The source code is released under:

# Copyright 2013 JK Wood <joshuakwood@gmail.com> # This framework is released under the Dog-on-Fire License: # If use of this framework causes your dog to catch on fire, # you agree to send me five d...

If you think the Android project GameEngine 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.slaxer.framework.implementation;
//from ww  w. j a va  2s . com
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class AndroidFastRenderView extends SurfaceView implements Runnable {
  AndroidGame game;
  Bitmap framebuffer;
  Thread renderThread = null;
  SurfaceHolder holder;
  volatile boolean running = false;

  public AndroidFastRenderView(AndroidGame game, Bitmap framebuffer) {
    super(game);
    this.game = game;
    this.framebuffer = framebuffer;
    this.holder = getHolder();
  }

  public void resume() {
    running = true;
    renderThread = new Thread(this);
    renderThread.start();
  }

  @Override
  public void run() {
    Rect dstRect = new Rect();
    long startTime = System.nanoTime();
    while (running) {
      if (!holder.getSurface().isValid())
        continue;

      float deltaTime = (System.nanoTime() - startTime) / 10000000.000f;
      startTime = System.nanoTime();

      if (deltaTime > 3.15)
        deltaTime = (float) 3.15;

      game.getCurrentScreen().update(deltaTime);
      game.getCurrentScreen().paint(deltaTime);

      Canvas canvas = holder.lockCanvas();
      canvas.getClipBounds(dstRect);
      canvas.drawBitmap(framebuffer, null, dstRect, null);
      holder.unlockCanvasAndPost(canvas);
    }
  }

  public void pause() {
    running = false;
    while (true) {
      try {
        renderThread.join();
        break;
      } catch (InterruptedException e) {
        // retry
      }
    }
  }

}




Java Source Code List

com.slaxer.framework.Audio.java
com.slaxer.framework.FileIO.java
com.slaxer.framework.Game.java
com.slaxer.framework.Graphics.java
com.slaxer.framework.Image.java
com.slaxer.framework.Input.java
com.slaxer.framework.Music.java
com.slaxer.framework.Pool.java
com.slaxer.framework.Screen.java
com.slaxer.framework.Sound.java
com.slaxer.framework.implementation.AndroidAudio.java
com.slaxer.framework.implementation.AndroidFastRenderView.java
com.slaxer.framework.implementation.AndroidFileIO.java
com.slaxer.framework.implementation.AndroidGame.java
com.slaxer.framework.implementation.AndroidGraphics.java
com.slaxer.framework.implementation.AndroidImage.java
com.slaxer.framework.implementation.AndroidInput.java
com.slaxer.framework.implementation.AndroidMusic.java
com.slaxer.framework.implementation.AndroidSound.java
com.slaxer.framework.implementation.CollRect.java
com.slaxer.framework.implementation.Dimension.java
com.slaxer.framework.implementation.MultiTouchHandler.java
com.slaxer.framework.implementation.Rectangle.java
com.slaxer.framework.implementation.SingleTouchHandler.java
com.slaxer.framework.implementation.TouchHandler.java