您的位置:首页 > 移动开发 > Android开发

Android 开发中的游戏开发使用 View 还是 SurfaceView

2013-01-22 16:04 971 查看
如何在Android平台上开发游戏,又如何使Android开发效率更高?我们是选择Android开发平台中的View还是SurfaceView呢?

  在Android中开发游戏,一般来说,或想写一个复杂一点的游戏,是必须用到SurfaceView来开发的。

  经过这一阵子对android的研究,我找到了在android中游戏开发的误区,不要老想着用Layout和view去实现,不要将某个游戏

  中的对象做成一个组件来处理。应该尽量想着在Canvas(画布)中画出游戏戏中的背景、人物、动画等...

  SurfaceView提供直接访问一个可画图的界面,可以控制在界面顶部的子视图层。SurfaceView是提供给需要直接画像素而不是使用

  窗体部件的应用使用的。Android图形系统中一个重要的概念和线索是surface。View及其子类(如TextView, Button)

  要画在surface上。每个surface创建一个Canvas对象(但属性时常改变),用来管理view在surface上的绘图操作,如画点画线。

  还要注意的是,使用它的时候,一般都是出现在最顶层的:The view hierarchy will take care of correctly compositing

  with the Surface any siblings of the SurfaceView that would normally appear on top of it.

  使用的SurfaceView的时候,一般情况下还要对其进行创建,销毁,改变时的情况进行监视,这就要用到SurfaceHolder.Callback.

  class BBatt extends SurfaceView implements SurfaceHolder.Callback {

  public void surfaceChanged(SurfaceHolder holder,int format,int width,int height){}

  //看其名知其义,在surface的大小发生改变时激发

  public void surfaceCreated(SurfaceHolder holder){}

  //同上,在创建时激发,一般在这里调用画图的线程。

  public void surfaceDestroyed(SurfaceHolder holder) {}

  //同上,销毁时激发,一般在这里将画图的线程停止、释放。

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐