Android Open Source - tapdefence Game Surface






From Project

Back to project page tapdefence.

License

The source code is released under:

MIT License

If you think the Android project tapdefence 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.kulinich.tapdefence.engine;
/*w  w  w  .  j  ava 2  s .c  o  m*/
import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

import com.kulinich.tapdefence.GameActivity;

public class GameSurface extends SurfaceView implements SurfaceHolder.Callback {

  SurfaceHolder holder;
  GameThread thread;

  public GameSurface(Context context) {
    super(context);
    holder = getHolder();
    holder.addCallback(this);

    thread = new GameThread(holder, context, new Handler() {
      @Override
      public void handleMessage(Message m) {
        if (m.getData() != null) {
          GameActivity activity = (GameActivity) getContext();
          long score = m.getData().getLong("score");
          activity.showScoreDialog(score);
        }
      }
    });

    setFocusable(true);
  }
  
  public GameThread getThread() {
    return thread;
  }

  @Override
  public void surfaceChanged(SurfaceHolder holder, int format, int width,
      int height) {
    thread.setSurfaceSize(width, height);
  }

  @Override
  public void surfaceCreated(SurfaceHolder holder) {
    thread.setRunning(true);
    thread.start();
  }

  @Override
  public void surfaceDestroyed(SurfaceHolder holder) {
    thread.setRunning(false);
    boolean retry = true;
    while (retry) {
      try {
        thread.join();
        retry = false;
      } catch (InterruptedException e) {
      }
    }
  }
  
    @Override
    public void onWindowFocusChanged(boolean hasWindowFocus) {
        if (!hasWindowFocus) thread.pause();
    }

  @Override
  public boolean onTouchEvent(MotionEvent e) {
    thread.onTouch(e);
    return true;
  }

}




Java Source Code List

com.kulinich.tapdefence.GameActivity.java
com.kulinich.tapdefence.MainActivity.java
com.kulinich.tapdefence.ScoreDialog.java
com.kulinich.tapdefence.engine.Constants.java
com.kulinich.tapdefence.engine.Enemy.java
com.kulinich.tapdefence.engine.GameSurface.java
com.kulinich.tapdefence.engine.GameThread.java
com.kulinich.tapdefence.engine.Game.java
com.kulinich.tapdefence.engine.InputHandler.java
com.kulinich.tapdefence.engine.Line.java
com.kulinich.tapdefence.engine.Particle.java
com.kulinich.tapdefence.engine.Point.java
com.kulinich.tapdefence.engine.Star.java
com.kulinich.tapdefence.engine.Utils.java
com.kulinich.tapdefence.engine.Wall.java