第9章Android游戏开发.pptVIP

  • 3
  • 0
  • 约 31页
  • 2018-04-22 发布于天津
  • 举报
第9章Android游戏开发.ppt

第9章 Android游戏开发 本章学习目标 掌握Android游戏开发基本框架 掌握View类和SurfaceView类开发框架 掌握Graphics类操作以及图形图像的绘制 了解图形图像的旋转、缩放和像素操作 掌握Tween动画的核心类以及实现动画方法 了解gif动画播放 9.1 游戏开发基本框架 9.1.1 View类开发框架 在View类框架中,任何自定义的View类都只需要重写onDraw 方法来进行界面的显示 onDraw 方法不能被直接调用,想要重新加载界面通常有两种方法,一种是在Handler中调用invalidate,另一种是直接在线程中调用postInvalidate invalidate 不能直接在工作者线程中进行调用,因为它违背了单线程模型,而android的UI操作并不是线程安全的。而postInvalidate 可以在工作者线程中直接进行调用 9.1 游戏开发基本框架 9.1.2 SurfaceView类开发框架 surfaceView继承自View类,它通过一个新线程来更新画面。因此,SurfaceView更适合需要快速加载UI,或渲染代码阻塞UI线程的时间过长的情形 SurfaceView封装了一个Surface对象,而不是Canvas,这一点对于那些资源敏感的操作特别有用 SurfaceView一般通过使用SurfaceHolder类来控制Canvas在其surface上的操作,SurfaceHolder类可以通过getHolder 来获得 9.1 游戏开发基本框架 9.1.2 SurfaceView类开发框架 SurfaceHolder中的几个重要的方法 lockCanvas 方法用于锁定画布,这样Surface中就可以指定画布了,之后就可以在画布上进行绘画 unlockCanvasAndPost Canvas canvas :用于释放处于锁定状态的Canvas 当Surface的状态发生改变时,可以通过SurfaceHolder.Callback来获取这些信息 SurfaceHolder.Callback有三个重要的方法,surfaceChanged 、surfaceCreated 、surfaceDestroyed 分别在Surface创建、改变、销毁时被调用 9.2 Graphics类开发 9.2.1 Paint和Color类 画笔Paint类包含如何绘制几何形状、文本和位图的样式及颜色信息 Paint文本绘制主要包括这些方面,如setColor 、setTypeface 、setTextSize 等 Paint图形图像绘制主要通过setColor 、setStyle 等方法来设置 9.2 Graphics类开发 9.2.1 Paint和Color类 颜色被表示为封装的数值,这个数值由四个字节组成,分别为alpha、red、green、blue,任何透明性只存储在alpha部分。 Color类定义了一些方法来创建和转换颜色值。如red int color 、green int color 、blue int color 等方法可以获取一个颜色常量值的红绿蓝分色,而HSVToColor 、RGBToHSV 等方法可以在不同颜色空间进行颜色的转换。 9.2 Graphics类开发 9.2.2 Canvas类介绍 要实现一个吸引人的游戏,色彩艳丽的界面设计是必不可少的,这就需要Paint和Canvas配合实现 设置Canvas属性的常用方法 drawColor :用来设置画布背景色,体现在手机上就是手机屏幕背景色 clipRect :设置裁剪区域,即设置显示区域 rotate :旋转画布 9.2 Graphics类开发 9.2.2 Canvas类介绍 Canvas常用的绘制方法 drawRect Rect rect, Paint paint 用于绘制矩形区域 drawBitmap bitmap bitmap, Rect src, Rect dst, Paint paint 用于绘制位图 drawPoint float x, float y, Paint paint 用于画点 drawLine float startX, float startY, float stopX, float stopY, Paint paint 用于画线 drawText String text, float x, float y, Paint paint 用于在某个位置写文本 9.2 Graphics类开发 9.2.3 绘制图像 Android中显示图像主要有两步,第一步是获取图像资源,第二步调用画布类的dra

文档评论(0)

1亿VIP精品文档

相关文档