AndroID游戏开发中主要的类除了控制类就是显示类,比较重要也很复杂的就是显示和游戏逻辑的处理。在J2ME中可以通过display和Canvas来实现显示,而AndroID中处理显示的是VIEw类。下面为大家简单介绍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构建,同时后面会讲到的OpenGL中的GLSurfaceVIEw也是从该类实现。
以上就对AndroID VIEw类和Surface类的详细介绍,希望能帮助AndroID开发的朋友,谢谢大家对本站的支持,后续继续补充相关资料。
总结以上是内存溢出为你收集整理的Android View类与SurfaceView类详解全部内容,希望文章能够帮你解决Android View类与SurfaceView类详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)