手机游戏开发.ppt
感谢你的欣赏
2019-11-6
游戏API包提供了一系列针对无线设 备的游戏开发类。
兰州石化学院 Page 53
感谢你的欣赏
2019-11-6
由于无线设备仅有有限的计算能力, 因此许多API的目的在于提高Java游戏的 性能,并且把原来很多需要手动编写的代 码如屏幕双缓冲、图像剪裁等都交给API 间接调用本地代码来实现。
兰州石化学院 Page 7
感谢你的欣赏
2019-11-6
所以类似《传奇》、《千年》这样的 网络游戏将来也可以在手机上实现。
兰州石化学院 Page 8
感谢你的欣赏
2019-11-6
但是与PC相比,它们的输入和显示功 能也很有限。手机的屏幕都较小,其对声 音处理能力也很有限。
兰州石化学院 Page 9
感谢你的欣赏
2019-11-6
有的设备可能会支持额外的一些格式,
不过所有设备都必须支持PNG格式。在手 机中使用PNG图片,必须先把图片加载到 内存,并且实例化成为一个Image对象。
兰州石化学院 Page 24
感谢你的欣赏
2019-11-6
Image对象的构造方法如下:
public static Image createImage(String name)
兰州石化学院 Page 56
感谢你的欣赏
2019-11-6
在1996年10月1号,W3C正式发函公 告,推荐PNG为最佳的图形格式,并且以 “PNG Delivers Higher Quality Graphics for Web Page Design”的文字作为该文件的 标头。
兰州石化学院 Page 18
感谢你的欣赏
2019-11-6
兰州石化学院 Page 44
感谢你的欣赏
2019-11-6
7.3.4 播放动画框架
开发MIDP的程序员经常会在一个 MIDlet上显示动画。MIDP 1.0没有直接提 供对动画的支持(正在开发中的MIDP 2.0 支持),但真要是自己去实现,其实也并 非是一件很难的事。
兰州石化学院 Page 45
兰州石化学院 Page 42
感谢你的欣赏
2019-11-6
(6)请求保存图片所需的足够内存 块。如果使用动态图像,就创建图像。 否则确定图像包含什么静态图片文件 名。
兰州石化学院 Page 43
感谢你的欣赏
2019-11-6
(7)从Paint()方法中判断图像是否 创建成功或者图像是否打开成功。如 果是创建一个新的裁剪区域,在画布 上绘制图像。
兰州石化学院 Page 30
感谢你的欣赏
2019-11-6
2.动画制作应注意的问题
(1)速度的处理 (2)循环动画 (3)夸张与拟人
兰州石化学院 Page 31
感谢你的欣赏
2019-11-6
7.3.2 双缓冲技术
双缓冲技术是编写J2ME游戏程序的关 键技术之一。实际上,双缓冲技术是计算 机动画的一项传统技术。
兰州石化学院 Page 25
感谢你的欣赏
2019-11-6
图7-2 旋转的“X”
兰州石化学院 Page 26
感谢你的欣赏
2019-11-6
7.2.5 游戏菜单制作
当玩家在菜单项中选择了某选项后, 系统给玩家返回的界面应该不同。
兰州石化学院 Page 27
感谢你的欣赏
2019-11-6
下例菜单选项包括:新游戏、高分榜、
兰州石化学院 Page 39
感谢你的欣赏
2019-11-6
7.3.3 图片的裁剪
我们可以通过设定裁剪的区域来显示 图片的一个片断,使用前面讲的方法:
setClip() getClipX() getClipY() getClipWidth() getClipHeight()
兰州石化学院 Page 40
帮助和退出。其他屏幕包括:游戏中的界 面、查看高分榜的界面、查看帮助的界面。
兰州石化学院 Page 28
感谢你的欣赏
2019-11-6
图7-3 游戏的菜单界面
兰州石化学院 Page 29
感谢你的欣赏
2019-11-6
7.3 游戏设计中的动画
7.3.1 动画基础
1.什么是动画
动画是通过连续播放一系列画面,给 人的视觉造成连续变化的图画。
兰州石化学院 Page 14
感谢你的欣赏
2019-11-6
7.1.3 扬长避短的手机游戏 开发
1.缩短每回合的游戏时间 2.合理处理等待时间
兰州石化学院 Page 15
感谢你的欣赏
2019-11-6
7.2 PNG图像格式介绍
7.2.1 PNG的由来
PNG全名Portable Network Graphics, 字面意思是“可移植性网络用图形”,从 这简单几个字已经明白定义了PNG的用途 以及主要发展方向。
兰州石化学院 Page 51
感谢你的欣赏
2019-11-6
7.4 手机游戏2D动画开发
7.4.1 MIDP 2.0 2D游戏开发
MIDP 2.0相对于1.0来说,最大的变化 就是新添加了用于支持游戏的API,它们 被放在javax.microedition.lcdui.game 包中。
兰州石化学院 Page 52
兰州石化学院 Page 32
感谢你的欣赏
2019-11-6
造成屏幕闪烁的主要原因在于,画面
在显示的同时,程序又在改变它。解决办 法就是在内存中开辟一片区域作为后台画 面,程序对它更新、修改,完成后再显示 它。
兰州石化学院 Page 33
感谢你的欣赏
2019-11-6
这样被显示的图像永远是已经完全画
7.2.2 PNG的图档格式特性
PNG保留了大部分GIF的特性, PNG 的压缩率很高,尤其是图表型的图片
兰州石化学院 Page 19
感谢你的欣赏
2019-11-6
7.2.3 PNG格式图像的压缩 及处理
PNG图像格式文件(或者称为数据流) 由一个8字节的PNG文件署名(PNG file signature)域和按照特定结构组织的3个以 上的数据块(chunk)组成。
7.2.4 使用PNG图片
在MIDP具体实现中,Images可以是 可变的也可以是不可变的。
兰州石化学院 Page 22
感谢你的欣赏
2019-11-6
不可变的Image可以从二进制图像文 件创建,如果要用二进制图像数据来创建 Image,这些数据必须是设备支持的格式。
兰州石化学院 Page 23
(1)定义一个Graphics对象bg和一 个Image对象buf,按屏幕大小建立一 个缓冲对象附给buf,然后取得buf的 Graphics对象附给bg。
兰州石化学院 Page 36
感谢你的欣赏
2019-11-6
(2)在bg(缓冲屏幕)上用 drawImage()和drawString等语句画 图,相当于在缓冲屏幕上画图。
第7章 手机游戏开发
Page 1
感谢你的欣赏
2019-11-6
游戏是策划、美工和程序三者的协调
及创意和商业运作的平衡。集美术、音乐、 动画、人工智能等元素于一身。
兰州石化学院 Page 2
感谢你的欣赏
2019-11-6
目前支持Java的手机性能越来越强大, 同时,手机的价格在不断地下降,因此, 手机游戏的市场前景将是非常良好的。本 章将从图片的处理、动画的制作和音效的 实现来学习手机游戏开发的基础知识。
感谢你的欣赏
2019-11-6
任何动画的最基本的前提,是要在足
够快的时间内显示和更换一张张的图片, 让人的眼睛看到动的画面效果。图片必须 按照顺序画出来。
兰州石化学院 Page 46
感谢你的欣赏
2019-11-6
从一张图片到下一张图片之间的变化
越小,效果会越好。首先要做的,是使用 你的图片处理软件(比如Photoshop或者 Firework)创建一系列相同大小的图片来 组成动画。
2019-11-6
7.1 手机游戏开发简介
现在的移动电话可以看作小型的计算 机,只是它的处理能力与PC相比很有限, 但是足够运行一个小型的游戏。
兰州石化学院 Page 6
感谢你的欣赏
2019-11-6
另一个特性就是它们还是网络计算机, 能够高速发送和接收数字数据。 除了语音
数据以外,它们还可以发送和接收其他类 型的数据。
感谢你的欣赏
2019-11-6
图7-1 WAP游戏的工作原理图
兰州石化学院 Page 12
感谢你的欣赏
2019-11-6
7.1.2 手机游戏开发特点
1.庞大的潜在用户群 2.便携性 3.屏幕小
兰州石化学院 Page 13
感谢你的欣赏
2019-11-6
4.有限的颜色和声音支持 5.应用程序大小限制 6.高等待时间 7.可中断性是关键
兰州石化学院 Page 16
感谢你的欣赏
2019-11-6
1996年,PNG Group向W3C(World Wide Web Consortium)提出一种多媒体 图形格式,重点在于改进现有JPG跟GIF 的缺点,并且提供更多新的概念与压缩模 式,在提出后得到W3C的认可与推荐。
兰州石化学院 Page 17
感谢你的欣赏
2019-11-6
开发者在这样的平台上开发应用,必
须认真的考虑这些特点。本节将重点讨论 手机本身的特点和手机游戏开发的特点。
兰州石化学院 Page 10
感谢你的欣赏
2019-11-6
7.1.1 手机游戏的类型
1.嵌入式游戏 2.短信息服务游戏 3.WAP浏览器游戏