资源简介
安卓拼图小游戏,里面注释挺详细,适合新手开发参考。
代码片段和文件信息
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.xm
目录 0 2014-06-16 09:54 GamePuzzle\assets\
文件 2738 2014-06-19 16:14 GamePuzzle\ba
目录 0 2014-07-03 16:23 GamePuzzle\bin\
文件 2198 2014-08-05 15:42 GamePuzzle\bin\AndroidManifest.xm
目录 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\ba
文件 2215 2014-09-01 11:07 GamePuzzle\bin\classes\com\gy\gamepuzzle\ba
文件 2963 2014-09-01 11:07 GamePuzzle\bin\classes\com\gy\gamepuzzle\ba
文件 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个文件信息
- 上一篇:瑞萨的can的资料CAN的入门书。做的很好的资料
- 下一篇:m4300刷bios
相关资源
- 在线学习网站系统毕业设计源码
- .NET驾校管理系统毕业设计源码和论文
- qwt的源码及
- 国密算法SM3验证与SM4文件加密工具C
- 安卓期末大作业-微论坛-模拟微博-无
- flash源码个人简历
- xss游戏平台源码
- 安卓学生管理系统毕设源码
- Spring boot in action 随书源码
-
smpla
yer-0.6.9源码 - ATSHA204 开发源码
- Ceph源码分析
- 非常好的代码生成工具,
- 微信小程序开发源码仿网易云音乐
- 网狐6603版源码帮助说明文档
- unity 横版2D车辆控制源码.zip
- vxworks下61850 MMS库源码
- 任哲-嵌入式实时操作系统μCOS-II原理
- 儿童摄影网站源码
- USB转SPI上位机源码
- 发送TCP数据包源代码+设计报告
- 斗地主算法的设计与实现-FansUnion-Do
- 女鬼程序源码胆小者勿下
- 微信小程序 小游戏跳一跳源码
- 拼车网源码
- 挂机源码完整版
- ESP8266 post源码 post.zip
- ssh实现的科技项目申报(文档+源码
- 校友录全网站源码
- unity插件连接安卓蓝牙测试可用
评论
共有 条评论