Android游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。
这里我们说下android.view.View 和 android.view.SurfaceView。
SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放以及Camera摄像头一般均使用SurfaceView,到底有哪些优势呢?
SurfaceView可以控制表面的格式,比如大小,显示在屏幕中的位置,最关键是的提供了SurfaceHolder类,使用getHolder方法获取,相关的有Canvas lockCanvas()
Canvas lockCanvas(Rect dirty) 、void removeCallback(SurfaceHolder.Callback callback)、void unlockCanvasAndPost(Canvas canvas) 控制图形以及绘制,
而在SurfaceHolder.Callback 接口回调中可以通过下面三个抽象类可以自己定义具体的实现,比如第一个更改格式和显示画面。
对于Surface相关的,Android底层还提供了GPU加速功能,所以一般实时性很强的应用中主要使用SurfaceView而不是直接从View构建,同时Android123未来后面说到的OpenGL中的GLSurfaceView也是从该类实现。
下面着重介绍View类:
以上是View实现的一些基本接口的回调方法,一般我们需要处理画布的显示时,重写onDraw(Canvas)用的的是最多的:
当然还有就是处理窗口还原状态问题(一般用于横竖屏切换),除了在Activity中可以调用外,开发游戏时我们尽量在View中使用类似。
在View中如果需要强制调用绘制方法onDraw,可以使用invalidate()方法,它有很多重载版本,同时在线程中的postInvailidate()方法将在Android游戏开发之旅六中的 自定义View完整篇讲到。
转载自: http://www.android123.com.cn/androidkaifa/541.html
分享到:
相关推荐
3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...
3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...
本书内容上涵盖了用android开发的大部分场景,从android基础介绍、环境搭建、sdk介绍、market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个android平台下的完整综合实例及源代码分析,...
《Android开发入门与实战》内容上涵盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个Android平台下的完整综合...
2.BAT Android面试20题详解 3.设计模式面试专题及答案 4.2019Android面试 常见58题 5.初级面试专题(中小厂) 7.设计模式面试专题 8.数据结构面试专题 9.多线程面试专题及答案 10.网络编程面试专题 11.腾讯Android...
Google Android开发入门与实战的代码 1章 掀起你的盖头来——初识Android. 1 1.1 认识Android 1 1.2 Android的背景 2 1.2.1 Android的历史 2 1.2.2 Android的发展 2 1.3 我的Android我做主 2 ...
BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识点面试专题.docx java;深入源码级的面试题.docx JVM面试专题及答案.pdf view面试专题.docx 中高级专题(View+Handler+Binder).docx 初级面试专题...
BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识点面试专题.docx java;深入源码级的面试题.docx JVM面试专题及答案.pdf view面试专题.docx 中高级专题(View+Handler+Binder).docx 初级面试专题...
BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识点面试专题.docx java;深入源码级的面试题.docx JVM面试专题及答案.pdf view面试专题.docx 中高级专题(View+Handler+Binder).docx 初级面试专题...
腾讯Android社招面试源码相关11题+原理详解 线程、多线程和线程池面试专题 Android面试中常被问基础知识点汇总宝典 初级面试专题(中小厂) 混合跨平台开发面试题 设计模式面试专题及答案 中高级专题(View+Handler+...