第五章android游戏开发.pptVIP

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章android游戏开发

第五章 android游戏开发 本章的主要内容: 5.1、android游戏开发框架 5.2、Graphics类开发 5.3、动画实现 5.4、小结 5.1 View类开发框架 View这个类是描绘块状视图的基类。View会绘制一个包含的Drawing是event事件的方形块,是所有与用户交互的组件的Widgets的基类(Buttons,textField等),View的子类ViewGroup是layouts类的基类,layouts类可以包含其他的View/ViewGroup组件并且定义展示的属性。 游戏最重要的是与玩家交互,比如键盘输入、触笔点击等事件。android中提供了 onKeyUp、onKeyDown、onKeyMultiple、onKeyPreIme、onTouchEvent、onTrackballEvent等方法,可以轻松地处理游戏中的时间消息。所以在继承View时,需要重载这几个方法,当有按键按下或弹起的时候,会自动调用方法来处理。 游戏的核心是不断地绘图和刷新界面,图我们可以通过onDraw方法绘制。android中提供了invalidate方法实现界面的刷新。 注意:invalidate不能直接在线程中调用,他违背了单线程模型。UI操作并不是线程安全的,这些操作必须在UI线程中执行。android中最常用的方法是利用Handler来实现UI的更新。 实例演示 下面通过实现一个在屏幕上不停变换颜色的矩形来分析android的界面更新。该实例中,我们通过Handler对象并重写了handleMessage方法实现一个消息的接收器,然后在线程中通过sendMessage()方法发送更新界面信息,当接收器收到更新界面的信息时 ,便执行Invalidate方法 实现更新在屏幕上显示。(Example_05_1) 运行结果如下 5.1.2 SurfaceView类开发框架 上一节讲解了View类的游戏开发框架,当需要开发复杂的游戏的时候,对程序的执行效率要求很高时,这时必须使用SurfaceView类进行开发。例如对于速度很高的游戏可以使用双缓冲技术来显示。游戏中的人物、背景、动画等都需要画在一个画布上,而SurfaceView可以直接访问这个画布。SurfaceView是提供给需要直接画像素而不是使用窗体部件的应用使用的。 android图形系统一个重要的概念是surface 、View 及其子类要画在画布上,每一个Surface创建一个Canvas对象。来管理View在Surface上的绘图操作。 在使用SurfaceView开发时需要注意的是,使用它绘图时,一般都是出现在最顶层。使用时还需要对其进行创建、销毁,情况改变时进行监视,这就要实现SurfaceHolder.Callback接口,如果要对被绘制的画布进行裁剪,控制其大小时都需要使用SurfaceHolder来完成处理。在程序中,SurfaceHolder对象需要通过getHolder方法来获得,同时还需要addCallback方法来添加“回调函数”。 SurfaceView和View的明显不同之处在于,SurfaceView不需要通过线程来更新视图,但在绘制之前必须使用lockCanvas方法锁定画布,并得到画布,然后在画布上绘制;当绘制完成后,使用unlockCanvasAndPost方法来解锁画布,于是才能显示在屏幕之上。SurfaceView类的事件处理则和View一样。 实例演示 本例通过SurfaceView类实现一个游戏框架,该实例绘制了一个不断变换颜色的圆,并且实现了SurfaceView的事件处理。我们按上下键时,图形可以移动。其控制整个应用流程的Activity类与上一节差不多。 下面是运行结果演示(具体代码见书本P115)。 运行结果展示 5.2 Graphics 类开发 前面我们已经分析了android中游戏开发中常用的两个视图类的开发框架,下面学习如何使用android中的Graphics类绘制图形。 要开发游戏,必须会在屏幕上绘制2D图形,在android中需要通过Graphics类来显示2D图形。Graphics类包含了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)、2D几何图形等常用类。 5.2.1 Paint和Color类简介 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: etAntiAlias: 设置画

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档