第五章android游戏开发演示教学.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运行结果展示 5.2.3几何图形绘制 前面讲到的是画一般都是一些矩形,今天就看看怎么在android手机屏幕上绘制一些几何图形,如三角形、多边形、椭圆、圆形、正方形 等等。并且设置 空心、实心。下面我们先来看看 在android中可以绘制出那些几何图形 。 android 中可以绘制的几何图形 方法 说明 drawRect 绘制矩形 drawCircle 绘制圆形 drawOval 绘制椭圆 drawPath 绘制任意多边形 drawLine 绘制直线 drawPoin 绘制点 下面通过一个例子来看看如何绘制这些图形,运行结果如下。完整代码请参见本书P123,实例中分别绘制了空心和实心的几何图形。 5.2.4 字符串的绘制 在游戏开发中,我们不可能全部用图片来显示,很多时候需要绘制字符串,比如开发一个RPG游戏,有大量的对话内容,这时如果全部用图片来显示肯定不行。下面我们就看看如果在Canvas 画布中绘制字符串。 android中提供了一系列的drawText方法来绘制字符串,在绘制字符串之前需要设置画笔对象,包括字符串的尺寸、颜色等属性。使用FontMetrics 来规划字体的属性,可以通过getFontMetrics 方法来获得系统字体的相关内容。下面来看一个大量文本自动换行、翻页和示例是如何操作字符串的,运行效果 见下图: 当我们按下方向键时就会换到下一行字体 上方向键换到上一行字体。下面我们列出在字符串处理时常用的方法: setTextSize: 设置字符串的尺寸 setARGB: 设置颜色(ARGB) getTextWidths: 取得字符串的宽度 setFlags (Paint.ANTI_ALIAS_FLAG): 消除锯齿。 由于这个示例的代码 比较长 ,在这里 就不贴出来了,有时间并且感兴趣的没有可以看书本源码研究。 5.2.5 图像绘制 在android中,项目目录下“res\drawable”用来放置一些该项目的图片资源,那么如何显示这些图片资源呢,android中提供了Bitmap来存放这些资源,如下代码可以通过一个资源索引来得到其图像对象Bitmap。 ((BitmapDrawable)getResourses().getDrawable(资源索引)).getBitmap() Bitmap 还提供了一些方法,比如getHeight方法和getWidth方法可以获得这些图像的高度和宽度,我们将在下面的实例中分析如何使用这些方法,并将图像显示在屏幕上,运行效果如下图所示,完整代码见书本P127. 5.2.6 图像旋转 在Android中进行图像旋转需要使用Matrix,它包含了一个3*3的矩阵,专门用于进行图像变换匹配。Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。Matrix没有机构体,它必须初始化,然后通过reset方法和set方法来实现。 首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法 。下面是一个乘法的公式: 在 Android 里面, Matrix 由 9 个 float 值构成,是一个 3*3 的矩阵。如下图。 解释一下,上面的 sinX 和 cosX ,表示旋转角度的 cos 值和 sin 值,注意,旋转角度是按顺时针方向计算的。 translateX 和 translateY 表示 x 和 y 的平移量。 scale 是缩放的比例, 1 是不变, 2 是表示缩放 1/2,这样子。 Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set,post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。set是直接设置Matrix的值,每次set一次,整个Matrix的数组都会变掉。 我们现在通过setRotate设置旋转角度,用creatBitmap创建

文档评论(0)

186****7785 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档