首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

懂得自制SurfaceView代码

2013-04-12 
理解自制SurfaceView代码概述:最近在读himi的android游戏开发专栏,其中通过前几张剖析View的继承接口类发

理解自制SurfaceView代码

概述:

            最近在读himi的android游戏开发专栏,其中通过前几张剖析View的继承接口类发现SurfaceView比较适合做Game Dev然后本人也动手跟着himi的代码敲了几下。最终虽然也达到了himi的运行效果。但是其中还是经过了好多疑点。现在本人将自己的理解发布出来,欢迎交流与学习


Code List:


方法执行顺序:

LoginView-->surfaceCreated-->run-->draw


方法解析:

LoginView方法:

OK,我们看到LoginView其实是在初始化本View的一些全局变量,包括线程对象、位图对象。另外设置了一些效果,包括去掉锯齿等。程序中注释特别明朗

surfaceCreated方法:

本方法体中我们看到初始化了2组长度和高度。其中Sreen顾名思义我就不再解释。bp_x和bp_y指的是注册图片在屏幕中的开始坐标的位置。也就是左上角的位置[算法解析:“屏幕的一半坐标为中心点坐标-注册图片一半的像素值”]得到的就为绘制图片位图的起始位置。你明白了吗?

run方法:

run方法为thread线程开始的跑的标示,代码逻辑很简单不再解释

draw方法:

OK,本人觉得draw方法才是一个View中最核心的内容。因为它负责在屏幕上绘制内容和刷新内容。本人将himi博客的内容简单化了很多。应该很好理解吧。

拿到canvas到画两个位图其中的注释写的很清楚本人不再多说


注意:

本人在做此案例的时候遇到了1个特别棘手的问题那就是按照himi的源代码自己new的一个项目居然在paint位图的时候遇到了错乱的问题。解决方案url:

http://blog.csdn.net/zhang6622056/article/details/8781734


说明:

登陆窗口的用户名和密码的点击事件是通过重写onTouchEvent方法来实现的。锁定了相关的像素坐标区域。如果该区域被点击了就发送一个Intent。其中Intent的传参为put的那个方法,另外在AndroidManifest.xml文件中注意声明你Intent跳转的Activity


声明:本人也是一名Android新手,欢迎大家一起交流与学习。稍后本人将发布本博文的源码地址。因为公司网络不好,可能会在晚上回家之后upload上去


热点排行