Android游戏开发之旅(二)View和SurfaceView
2010-11-25 13:30
337 查看
在Android游戏
当中充当主要的除了控制类外就是显示类,在J2ME中我们用Display和Canvas来实现这些,而Google
Android中涉及到显示的为view类,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也是从该类实现。
当中充当主要的除了控制类外就是显示类,在J2ME中我们用Display和Canvas来实现这些,而Google
Android中涉及到显示的为view类,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 接口回调中可以通过下面三个抽象类可以自己定义
具体的实现,比如第一个更改格式和显示画面。
abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height) abstract void surfaceCreated(SurfaceHolder holder) abstract void surfaceDestroyed(SurfaceHolder holder)
对于Surface相关的,Android底层还提供了GPU加速功能
,所以一般实时性很强的应用
中主要使用SurfaceView而不是直接从View 构建,同时Android123未来后面说到的OpenGL中的GLSurfaceView也是从该类实现。
相关文章推荐
- Android游戏开发使用View还是SurfaceView
- Android游戏开发之旅二 View和SurfaceView
- (转载)Android游戏开发之旅二 View和SurfaceView
- 【Android游戏开发之二】剖析游戏开发用view还是surfaceView
- Android游戏开发使用View还是SurfaceView
- Android游戏开发(一) SurfaceView游戏框架
- Android游戏开发入门:SurfaceView+SurfaceHolder+Thread
- 【Android游戏开发之二】剖析游戏开发用view还是surfaceView ?!
- 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!
- Android 游戏开发之View框架
- 【Android游戏开发之三】详细剖析 SurfaceView ! Callback以及SurfaceHolder!!
- 【Android游戏开发之六】无法在SurfaceView中添加组件的替代方法
- 【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!
- Android游戏开发之旅(十一)View中手势识别
- Android游戏开发基础part1-View视图和SurfaceView视图
- Android 游戏开发之 SurfaceView
- 【Android游戏开发十八】解放手指,利用传感器开发游戏!(本文讲解在SurfaceView中用重力传感器控制圆球的各方向移动)
- 【Android游戏开发之三】剖析 SurfaceView ! Callback以及SurfaceHolder
- 【Android游戏开发二十六】追加简述SurfaceView 与 GLSurfaceView效率!
- 【Android游戏开发之三】详细剖析 SurfaceView ! Callback以及SurfaceHolder!!