Andriod游戏开发第六章SurfaceView动画.docxVIP

  • 3
  • 0
  • 约3.81千字
  • 约 6页
  • 2017-06-14 发布于北京
  • 举报
第六章 SurfaceView动画前 面介绍的内容,还是比较简单的,应用这些知识,可以完成一些非实时游戏,比如井字棋等,或者一些画面刷新不是很频繁、实时性不强的游戏,比如我们前面做的 扫雷。但是我们的目标是坦克大战,对操作的实时性要求比较高,更有很多的NPC需要处理,绘图的工作量也很大,所以我们要用一个新的视图类 SurfaceView代替View来完成显示工作。SurfaceView与View有一些不同,但是我们只用其中的一个特性:在主线程之外的线程中向 屏幕上绘图。这样就可以避免在画图任务繁重的时候造成主线程阻塞,从而提高程序的反应速度。首先让我们重新定义一个GameView 类,让他继承自SurfaceView,并且要实现SurfaceHolder.Callback接口。为什么要实现Callback接口呢?因为使用 SurfaceView有一个原则,所有的绘图工作必须得在Surface被创建之后才能开始(Surface—表面,这个概念在图形编程中常常被提到。 基本上我们可以把它当作显存的一个映射,写入到Surface的内容可以被直接复制到显存从而显示出来,这使得显示速度会非常快),而在Surface被 销毁之前必须结束。所以Callback中的surfaceCreated和surfaceDestroyed就成了绘图处理代码的边界。我们直接让 GameView类实现Callba

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档