• 大小: 9.92MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-30
  • 语言: 其他
  • 标签: 安卓  拼图  源码  

资源简介

安卓拼图小游戏,里面注释挺详细,适合新手开发参考。

资源截图

代码片段和文件信息

package com.feicui.app.pintu.view.base;

import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;

/**
 * SurfaceView的框架
 * 
 * @author dell
 * 
 */
public abstract class baseSurfaceView extends SurfaceView implements Callback
Runnable {

private SurfaceHolder holder;
private boolean isFlag;
private boolean isReloadEnd;

public baseSurfaceView(Context context) {
super(context);
// TODO Auto-generated constructor stub
init();
}

public baseSurfaceView(Context context AttributeSet attrs) {
super(context attrs);
// TODO Auto-generated constructor stub
init();
}

private void init() {
// TODO Auto-generated method stub
holder = getHolder();
holder.addCallback(this);
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
isReloadEnd = false;
onResReload();
isReloadEnd = true;

isFlag = true;
new Thread(this).start();
}

@Override
public void surfaceChanged(SurfaceHolder holder int format int width
int height) {
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
onResRelease();
isFlag = false;
}

@Override
public void run() {
// TODO Auto-generated method stub
long startTime = 0;
long endTime = 0;
long time = 0;
while (isFlag) {
if (!isReloadEnd) {
continue;
}
startTime = System.currentTimeMillis();
onUpdate();
Canvas canvas = holder.lockCanvas();
try {
if (canvas != null) {
onPaint(canvas);
}
} catch (Exception e1) {

} finally {
if (canvas != null) {
holder.unlockCanvasAndPost(canvas);
}
}

endTime = System.currentTimeMillis();
time = endTime - startTime;
if (time < 40) {
try {
Thread.sleep(40 - time);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
}

@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
onTouch(event);
return true;
}

/** 当Surface重新创建出时将先调用 */
protected abstract void onResReload();

/** 当Surface销毁时将先调用 */
protected abstract void onResRelease();

/** 每40ms自开的线程调用一次(在onPaint之前)做逻辑处理操作 */
protected abstract void onUpdate();

/** 每40ms自开的线程调用一次(在onUpdate之后)做绘制视图的操作 */
protected abstract void onPaint(Canvas canvas);

/** 当touch屏幕时UI线程将来调用 */
protected abstract void onTouch(MotionEvent event);

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-06-19 16:14  GamePuzzle\
     文件         475  2014-06-16 09:54  GamePuzzle\.classpath
     文件         846  2014-06-16 09:54  GamePuzzle\.project
     目录           0  2014-06-16 09:54  GamePuzzle\.settings\
     文件         177  2014-06-16 09:54  GamePuzzle\.settings\org.eclipse.jdt.core.prefs
     文件        2198  2014-06-18 11:04  GamePuzzle\AndroidManifest.xml
     目录           0  2014-06-16 09:54  GamePuzzle\assets\
     文件        2738  2014-06-19 16:14  GamePuzzle\baseSurfaceView.java
     目录           0  2014-07-03 16:23  GamePuzzle\bin\
     文件        2198  2014-08-05 15:42  GamePuzzle\bin\AndroidManifest.xml
     目录           0  2014-09-01 11:07  GamePuzzle\bin\classes\
     文件      673468  2014-07-03 16:23  GamePuzzle\bin\classes.dex
     目录           0  2014-09-01 11:07  GamePuzzle\bin\classes\com\
     目录           0  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\
     目录           0  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\
     目录           0  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\base\
     文件        2215  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\base\baseActivity.class
     文件        2963  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\base\baseSurfaceView.class
     文件         343  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\BuildConfig.class
     文件         524  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\ExplainActivity.class
     文件        1573  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\GameActivity$1.class
     文件         967  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\GameActivity$2.class
     文件        5479  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\GameActivity.class
     文件         515  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\HelpActivity.class
     文件         530  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\InputNameActivity.class
     文件        2023  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\LogoActivity.class
     目录           0  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\media\
     文件        1834  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\media\MusicMedia.class
     文件         871  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\MenuActivity$1.class
     文件        4082  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\MenuActivity.class
     文件        4821  2014-09-01 11:07  GamePuzzle\bin\classes\com\gy\gamepuzzle\OptionActivity.class
............此处省略188个文件信息

评论

共有 条评论