现在开发j2me的RPG游戏用的是j2me canvass还是Gamej2me canvass

教程 | | 当前位置: > > > 正文
J2ME游戏开发学习之正确构造GameCanvas
作者:
发表于 2010-6-11 10:11:26 评论(1) 阅读(135) 最近接触MIDP 2的机会多了些,在游戏中当玩家死亡后,需要显示一个界面通知玩家死亡,并让用户按任意键继续
游戏的主逻辑run()有一个专门的轮循按键keyPolling()函数
/** * 按键轮询 */ rivate void keyPolling() { if( rites[0].isEaten) { //如果被吃掉了无须进行移动 retur } //连续两次getKeyStates()获取当前最新的按键信息 int _keyState = getKeyStates(); int keyState = getKeyStates(); if ( (keyState &am UP_PRESSED) != 0) { //UP rites[0].move(0, -NORMAL_SPEED); } if ( (keyState &am DOWN_PRESSED) != 0) { //Down rites[0].move(0, NORMAL_SPEED); } if ( (keyState &am LEFT_PRESSED) != 0) { //Left rites[0].direction = -1; rites[0].setTra form(Sprite.TRANS_NONE); rites[0].move( -NORMAL_SPEED, 0); } if ( (keyState &am RIGHT_PRESSED) != 0) { //Right rites[0].direction = 1; rites[0].move(NORMAL_SPEED, 0); rites[0].setTra form(Sprite.TRANS_MIRROR); } }
在实现按任意键继续游戏方面采取keyPre ed(int keyCode)里添加代码
if( rites[0].isEaten) { rites[0].isEaten = false;
,实际中当用户按方向键
[来源:GameRes.com]
和2, 4, 6, 8, 5键时无效,而其它按键则可以跳过,不仅相当郁闷。
后来读了GameCanvas(boolean su re KeyEvents)的说明才恍然大悟!
原来,如果初始化GameCanvas(boolean su re KeyEvents)时参数选择true, 则会压制game keys(UP, DOWN, LEFT, RIGHT, FIRE) 的常规按键机制( keyPre ed, keyRepeated, keyReleased), 从而导致了问题的发生。所以当采取GameCanvas(false)时程序就正常了。
那么为什么GameCanvas的构造函数会提供这样一个参数呢?文档里面说,If not needed by the a lication, the su re ion of key events may improve performance by eliminating u ece ary system calls to keyPre ed, keyRepeated and keyReleased methods.
“improve performance” 可以提高多少呢?好像缺乏一些量上的概念。希望大虾能用自己的开发体会指点之
悄悄话
的评论:
  好
2010-06-13 09:33
手机游戏开发相关文章
Copyright 2008 北京汇众益智科技有限公司. All Rights Reserved
京ICP备09092043号ISBN J2ME手机游戏开发技术详解
图书分类
计算机考试类图书
化学化工
机械材料汽车能源
工业工程
工业设计
建筑土木水利
环境与给排水
生物与医学
电工基础与电气工程
科普读物
社会职业培训
航空航天
计算机基础
计算机组成与原理
算法与程序设计
计算机技术及应用
计算机网络
图形图像与多媒体
计算机辅助设计
软件工程
数理基础
信息安全
电子信息
计算机--其他
经济管理
人文社科
非英语专业本科教材
非英语专业研究生教材
专升本教材
英语专业教材
选修课系列教材
专门用途英语教材
学术类图书
考试类用书
娱乐休闲英语
英语学习方法
非英语语种图书
外语--其他
高职高专--公共基础课
高职高专--人文社科类
高职高专--计算机类
高职高专--电子信息类
高职高专--机电类
高职高专--工科类
高职高专--经济管理类
高职高专--服务类
基础教育--英语
基础教育--信息技术
中职教育--计算机类
中职教育--公共课
中职教育--经济管理类
中职教育--电子信息类
中职教育--机电类
中职教育--服务类
J2ME手机游戏开发技术详解
作者:强锋科技
图书详细信息:
ISBN:9787302126010
定价:69元
印次:1-4
装帧:平装
印刷日期:2007-10-26
图书简介:
种种调查数据可以证明中国手机游戏市场的繁荣,如今没有人会怀疑手机游戏的美好未来。但行业的发展过程中也暴露出很多不成熟之处,其中最重要的就是游戏开发制作人才的严重匮乏,这是我国手机游戏发展中一个无法回避的问题。众多手机游戏玩家都知道,目前的手机游戏大多来自于国外。日本、韩国、欧美等国家开发的游戏几乎占据了中国手机游戏市场的80%。而仅将国外游戏针对中国市场进行本地化改进,这对国内的手机游戏开发商而言绝非长远之计。
所以说,历史上从没有出现过比现在更适合你去从事手机游戏开发的时刻了:软件技术出现前所未有的成熟,各种工具都已经开始简单化并逐步完善,无线终端性能在不断提高,运行速度加快,数据传输能力加强,内存的增大,色彩、清晰度更高,终端价格的下降,以及彩屏手机用户的增长,我想要说的就是:“Time is Now”。
开发手机游戏,听上去似乎不可思议,然而在你捧着本书的时候,可知道有多少人正在做着这种事?他们中的多少人因此而成功?参照IT产业的历史,游戏将成为技术创新背后的强大动力。游戏开发人员渴望更加强大的硬件计算能力,渴望不受不同的软件和平台的限制——无论是将图形强制在人工智能(AI)上还是网络安全性上。
游戏开发者和玩家将是前沿手机技术应用的开创者,由于他们的创新天性,游戏不再是由传统意义上移动增值业务内容提供商所能控制的技术产品——游戏领域总是有充足的空间给那些在这方面有天分的单个创新者。所以不要认为设计一个好的游戏需要投入上百万、需要50人以上的美工、20人以上的程序员的开发团队,对于手机游戏开发而言,所需要的往往只是一个绝妙的构想和不断的努力。最畅销的游戏常常开发资金并不多,其幕后的开发人员甚至只有一个人!
为了帮助众多从业者提高软件使用及项目制作水平,笔者精心编著了本书。本书依照读者的学习规律,首先介绍基本概念和基本操作,在读者掌握了这些基本概念和基本操作的基础上,再对内容进行深入讲解,严格遵循由浅入深、循序渐进的原则。本书尽可能覆盖尽量多的手机游戏开发技术,如果读者已经具备了J2ME的基本开发技能,也可以依照需要,挑选一些章节重点阅读。
本书在内容的编排和目录的组织上都十分用心,争取让读者能够快速掌握J2ME开发的方方面面。例如,第1章在讲解了J2ME的基本概念以后,立刻运行一个简单的例子告诉读者如何使用基本的开发工具WTK,让读者快速入门,掌握J2ME开发的基本流程。另外,本书章节命名明确清晰,这样读者就可以立即知道每一章节所要学习的知识。本书在讲解具体知识先进行基本使用方法的讲解,然后尽可能使用实例来进一步强化学习效果,这样可以让读者理论结合实践,提高制作水平。
和其他书籍相比,本书有何特点
1.讲解通俗,步骤详细
本书不像其他同类书籍,只单纯讲解如何使用各个API,而是通过精心设计的众多富有代表性的实例,将MIDP的基本功能和操作技巧融入到范例当中进行讲解。每个实例的制作步骤都以通俗易懂的语言阐述,并穿插讲解和效果演示,读者在阅读时就像听课一样详细而贴切。读者只需要按照步骤操作,就可以写出实现各种不同功能的MIDP程序来。
2.覆盖面广,重点突出
本书包含了MIDP手机程序开发的所有基础知识,包括高级用户界面、低级用户界面、记录存储系统、联网功能和媒体API。讲解这些基础知识时,我们尽可能覆盖广,但又重点突出,相信对读者入门和提高大有裨益。
3.跟进发展,内容新颖
除了基础知识外,本书所涉及的部分内容是其他书籍所未曾涉及或者未曾深入介绍的。例如,本书详细讲解了如何在手机上进行3D建模和场景的构建,如何使用MIDP 2.0进行手机联网,如何使用Push技术,如何使用GameAPI进行游戏编程以及MIDP 2.0的所有新增内容。这些都是同类书中比较薄弱或者欠缺的。对于所有的新技术,本书都将重点介绍。此外,本书还会讲解一些辅助工具的使用,例如如何使用Firework和Photoshop制作图片的透明背景,如何使用3ds max导出三维场景的数据文件等。
4.主题独特,针对性强
现在希望学习手机游戏开发的读者有两种情况:一种是知道做什么(有创意),但是不知道怎么做(不会MIDP编程),另一种是熟悉基本的语言和API使用,但是不知道如何制作一个完整的游戏。由于本书是针对游戏开发的,因此特别介绍了手机游戏制作的技巧、游戏设计的整体理念以及游戏程序的优化技巧,这些理念和技巧将大大加速读者学习游戏制作的进程。
5.搭建环境,简单易行
对于J2ME开发,一个好的开发环境是必需的。本书特别讲解了JBuilder和Ecli e开发环境的搭建,还讲解了如何使用包括Nokia、Motorola、SonyEric on开发包。这些基本上是目前开发J2ME的主流平台。本书将详细讲解这些环境的搭建和配置。本书配书光盘中还有相关多媒体视频讲解。
6.实例完善,实用性强
本书的一大特色是讲解了4个完善而又实用且具有代表性的游戏例子:单屏幕游戏、滚屏游戏、3D游戏和联网游戏。它们的水平已经接近商用。这些实例讲解了游戏从设计到准备资源,从框架到实现的所有过程。学习它们的开发步骤,阅读它们的源代码,是读者学习完游戏开发基础知识之后,通过实践进行提高开发水平的最佳途径。
7.提供良好的技术支持
为了解决读者在使用本书过程中遇到的问题,笔者特开通了blog:http://www.blogcn com/user64/j2medev/index.html,读者可以随时登录并提问;同时,笔者还为本书提供了专用E-mail:j2me2006@163.com,以便读者和笔者随时联系。
本书包括的内容
全书共分17章:
第1章首先带领读者了解J2ME的应用领域、Java的3个组成部分及各自的应用领域,还讲解了MIDP和CLDC的概念及MIDP 2.0的新增功能。
第2章即切入正题介绍MIDlet套件的概念和如何使用WTK来进行程序的编译、打包、混淆和运行等基本操作。
第3章以第2章为基础,全面介绍应用开发环境的搭建。主要讲解JBuilder和Ecli e两个主流开发环境的搭建和开发流程,还将讲解如何***Nokia、SonyEric on、Motorola等手机设备厂商提供的开发包并将其嵌入到开发环境中。
第4章介绍高级用户界面。高级用户界面具有良好的可移植性。本章主要讲述4个屏幕类和表单(Form)类的8个组件的使用。其中,Spacer和CustonItem组件是MIDP 2.0新增的。
第5章介绍低级用户界面。低级用户界面常常被用来开发手机游戏。本章主要讲述画布Canvas类、图形绘制Graphics类、字体Font类和图像Image类,掌握这4个类的使用就能开发基本的MIDP 1.0手机游戏。
第6章介绍MIDP中提供的记录存储系统,还提供一个极为有价值的游戏中数据存储的完整例子,并对不同的记录存储使用方式进行了效率和空间对比。
第7章主要介绍MIDP网络编程的知识。首先对主流技术如Http、Socket和UDP分别进行介绍,最后对当前流行的Push技术给出详细的实现方法。
第8章介绍J2ME音效的处理。首先音效处理进行总体介绍,给出播放多种声音格式的方法,最后给出多种声音播放方式的实例。
第9章介绍如何使用MIDP 2.0新增的GameAPI。GameAPI在MIDP 2.0游戏开发中具有重要地位。本章主要讲述如何使用GameAPI创建游戏精灵、铺设游戏地图,以及如何进行图层管理。新增的游戏画布GameCanvas类采用了新的输入检测方式和带双缓冲性质的绘制方式。本章实例详细描述如何进行碰撞检测、使用多重地图、精灵翻转和走动的方法。
第10章主要介绍游戏中用到的高级技术,包括多线程、定时器、菜单以及其他方面的主题,并且给出各种技术的详细代码。
第11章介绍3D游戏开发入门,内容涵盖如何用点和三角面创建3D物体;如何设置物体的外观属性,包括材质属性、纹理属性、雾化属性等6种属性;如何使用摄像机和灯光;如何使用物体的动画,包括骨骼动画、变形动画和轨迹动画;如何进行场景的创建和绘制。每个重要知识点都会提供一个实例进行讲解,从而带给读者更全的启发。
第12章从手持设备的硬件配置和限制开始,详细介绍J2ME程序开发中用到的程序优化技术和技巧,并给出详细的例子和说明。最后给出程序开发中需要权衡和取舍的方面。
第13章主要介绍从玩家和技术角度对游戏的划分方式,为以后章节的叙述做好铺垫,并且还对J2ME版本在不同手机之间移植问题进行讨论。
第14章介绍一个完整的单屏游戏的实现方法。单屏幕游戏多为简单动作类游戏和益智类游戏。本章一个用MIDP 2.0实现的测试反应速度的逃亡者游戏,该游戏实现了包括闪屏、菜单、声音、游戏动画和高分纪录等游戏所需要具备的基本功能。此外还将介绍益智类游戏介绍的制作技巧,并给出一个五子棋游戏的实现。
第15章主要介绍当前2D游戏的主流技术实现的滚屏游戏,实现按照资源载入显示的进度条,并且实现一个手机版的超级玛丽游戏,并将对游戏的优化和注意进行说明。
第16章主要介绍通过Socket技术实现的网络对战扑克游戏,分别将给出客户端和服务器端程序的参考实现。尤其有价值的是服务器程序的J2ME实现,这大大方便了读者学习。
第17章介绍一个3D迷宫游戏的实现。3D游戏是未来手机游戏发展的又一亮点,该游戏涵盖了平面的创建、纹理的绘制、摄像机的跟踪,还提供一种有效的迷宫生成算法。本章的后面还将对3D游戏的发展现状进行阐述,并对其未来进行展望。
适合阅读本书的读者
本书的读者对象要求有Java语言基础,主要为从事J2ME平台移动增值业务开发的工程技术人员、高校学生和相关技术的爱好者。本书可作为大专院校嵌入式程序开发课程的教材,也可作为J2ME程序开发人员的入门书籍和参考书,也适合中高级开发人员。
本书创作团队
本书由强锋科技统筹组织,由李振鹏、龚剑主笔编写。其他参与编写、资料整理、程序调试和光盘录制的人员有张增强、王俊标、陈晨、李卓龙、高守传、郭瑞、周宇炜、蔡雪焘、陈杰、荣飞、郑林、张路平、顼宇峰、罗皓菡、赵正坤、公芳亮、程明雷、梁文建、马斗、邱哲、宋昕、陈刚、张传毓、赖梅艳、杨晓强、梁计锋、强致懿、郭腊梅等。在此对大家的辛勤工作表示衷心的感谢!
J2ME概述 2
J2ME体系结构 2
Java的版本 2
J2ME的3层体系结构 3
J2ME配置(Configuration) 4
K虚拟机(KVM) 6
J2ME简表(Profiles) 7
J2ME规范(Specification) 8
有限连接设备配置表(CLDC) 9
CLDC概览 9
CLDC中使用的J2SE类 11
CLDC的字符集和系统属性 13
CLDC专用类 15
通用连接(Generic Co ection)框架 16
CLDC1.1的新特性 19
CLDC安全体系结构 21
MIDP简表 23
设备需求 24
MIDP的总体体系结构 25
MIDP类库 27
MIDP 2.0的新特性 28
MIDP 2.0的安全机制 29
MIDP的未来方向 31
本章小结 32
用J2ME WTK开发无线应用 33
J2ME WTK的***配置 33
WTK简介 33
***前的准备工作 34
WTK 2.2的*** 34
WTK 2.2的目录结构 35
使用KToolbar部署应用 36
启动KToolbar工具包 36
创建新工程 37
打开一个已有工程 39
第一个MIDP程序HelloWorld 39
编译并运行程序 40
MIDP程序打包以及混淆 42
部署多个MIDlet组成的套件 43
OTA 方式部署应用 44
MIDlet应用程序模型 45
MIDlet套件 46
清单文件(MANIFEST)和描述文件(JAD) 46
应用管理软件 49
从JAD文件中读取属性 50
MIDlet的生命周期 51
编写MIDlet应用程序 53
MIDlet的开发流程 55
设置WTK的工程属性和开发环境 56
设置JAD/清单属性 56
设置自己的工程目录 57
使用第三方类库 58
设置WTK的版本控制 59
设置调试(Debug)环境 60
设置默认模拟器 60
添加新的模拟器 60
为程序添加图标 61
WTK的模拟器使用 62
WTK自带的模拟器 62
模拟器中的文本输入 64
用模拟器运行本地配置应用程序 65
设置模拟器的网络参数 65
设置模拟器的永久存储和堆栈 66
设置模拟器的执行性能 67
监视程序的执行情况 68
本章小结 72
J2ME应用开发环境的选择和配置 73
JBuilder 2005开发环境的搭建 73
搭建J2ME开发平台 73
开发Demo程序 74
打包和混淆应用程序 77
打包和混淆出现的问题 79
使用Nokia开发包开发应用程序 80
使用SonyEric on开发包开发应用程序 82
使用Motorola开发包开发应用程序 84
Ecli e开发环境的搭建 85
搭建J2ME开发平台 85
开发Demo程序 87
打包和混淆应用程序 89
本章小结 90
高级用户界面 92
高级用户界面设计概述 92
MIDP用户界面概述 92
用户界面API的分类 93
高级用户界面的类层次 94
用户界面的管理 95
Di lay类 95
Di lay对象的管理 97
可显示(Di layable)类 98
当前显示对象(Current Di layable) 100
设置当前显示对象 101
获取背景光和振动器信息 102
获取颜色信息 102
获取样式信息 104
序列化 104
高级事件 105
用户界面事件概述 105
软键(Command)类和软键类型 106
Command对象与用户界面的映射 108
CommandListener侦听 109
用Command跳转屏幕 111
高级屏幕类 113
Screen类 113
用信息条(Ticker类)实现滚动文字 114
用Alert类实现提醒功能 116
AlertType类 120
Choice接口 123
List 125
用TextBox类输入和编辑文本 132
屏幕表单(Form类)及其组件 138
Form类 138
Item类以及对Item状态的侦听 142
用ChoiceGroup类实现选项 148
用CustomItem类自定义组件 154
用DateField类输入日期 164
Gauge(图形标尺)类 171
用ImageItem类在Form中显示图片 178
Spacer 183
StringItem 185
用TextField类输入文字 189
本章小结 194
低级用户界面 195
Canvas类 195
Canvas类概述 195
绘制屏幕 198
重绘屏幕和强制重绘 199
显示和隐藏事件 201
按键事件 203
游戏动作 204
指针事件 206
Command事件 209
Graphics类 210
Graphics类概述 210
颜色模型与Alpha透明 213
绘制直线 215
绘制和填充矩形 216
绘制和填充弧形 217
绘制和填充圆角矩形 217
填充三角形 218
画笔风格 218
设置剪裁区域 219
坐标系统变换 221
字体的使用 222
Font类概述 222
字体属性 223
创建字体 225
文本的高度和宽度 225
基线 227
锚点 227
绘制字符串 228
图像的绘制 230
Image类概述 230
不变图像的创建 231
不变图像的绘制 234
ARGB图像的创建与绘制 236
PNG图像格式 239
制作PNG透明背景 242
可变图像的创建 244
图像双缓冲技术 245
图片处理的注意点 246
本章小结 247
记录存储系统 248
记录存储系统概述 248
记录存储的概念 248
记录存储API 249
记录存储的管理 251
创建记录存储 251
关闭和删除记录存储 252
增加记录存储 253
查询记录存储 254
修改记录存储 255
面对记录的高级操作 256
记录枚举接口 256
记录过滤接口 257
记录比较接口 258
记录***接口 260
存储记录的格式问题 262
二进制格式和其他格式的转换 262
几个关于数据转换的问题 263
游戏中的数据存储 263
游戏中记录存储的方式 263
游戏记录存储类的使用 266
与传统的数据存取方式的对比 267
本章小结 267
MIDP网络编程 268
通用连接框架 268
概述 268
通用连接框架Generic Co ection Framework 269
GCF的层次结构 269
GCF的使用 270
MIDP的HTTP连接 271
HTTP协议简介 271
HTTP连接状态 271
建立HTTP 连接 272
设置HTTP请求头 273
使用HTTP 连接 275
关闭HTTP连接 277
使用HTTP协议下载文件 277
Socket连接简介 278
套接字(Socket)连接简介 278
使用Socket下载文件 280
Datagram连接 282
Datagram连接简介 282
Datagram使用实例 283
Push技术概述 285
Push技术的分类 285
静态注册与基于i ound网络连接的Push 286
动态注册与基于计时器的Push 290
使用Push应注意的问题 291
本章小结 291
声音的播放和处理 292
MMAPI概述 292
MMAPI的概念 292
MMAPI的结构 293
播放器的创建和管理 294
MMAPI所支持的声音格式 294
Player接口和状态 295
播放器的使用 297
播放简单音调 297
播放音乐文件 298
控制播放音量 299
设置播放次数和循环播放 300
播放器***接口 300
游戏中声音的播放 302
以独占方式播放声音 302
以线程方式播放声音 305
本章小结 306
MIDP 2.0游戏开发 308
MIDP 2.0游戏开发概述 308
MIDP 2.0对游戏的支持 308
Game API概览 309
游戏的屏幕:GameCanvas类 310
GameCanvas概述 310
绘制双缓冲区 311
实现游戏主循环 312
获取键盘状态 312
Canvas绘制实例 314
图层的使用:Layer类 316
游戏背景:TiledLayer 类 317
TiledLayer类概览 317
图像贴图(Tile) 318
单元格(Cell) 319
静态背景的制作 319
动态背景的制作 322
游戏精灵:Sprite类 325
Sprite类概览 325
帧(Frame) 326
帧序列(FrameSequence) 327
旋转(Tra form) 329
设置参考点(reference pixel) 331
精灵的绘制 332
碰撞检测(例子) 333
图层管理:LayerManager 类 335
LayerManager类概览 335
层的索引和操作(示意图) 336
LayerManager的绘制 337
设置图层的位置 338
设置显示窗口(示意图) 339
双重背景的制作 340
实例:GameAPI实现RPG游戏 344
本章小结 346
游戏主要编程技术 347
游戏的线程 347
线程的创建 347
线程的启动与停止 348
线程的休眠与唤醒 351
线程的优先级 352
线程的同步问题 353
游戏的中断和恢复 354
Vector:用Vector实现的子弹 355
随机数字:游戏的人工智能 357
定时器Timer:预定时间内完成任务 358
只运行一次的定时器 358
可以重复运用的定时器 359
游戏闪屏设计 360
Alert 实现的闪屏 361
Canvas实现的闪屏 362
游戏菜单设计 364
高级界面实现的菜单 365
低级界面实现的菜单 366
本章小结 371
3D游戏开发入门 372
J2ME 3D概览 372
J2ME 3D游戏概述 372
M3G包描述 373
手机3D图像开发技术 374
M3G技术所能实现的功能 374
3D动画的两种开发模式 375
场景结构(Scene Graphs) 375
类描述 376
用点、线、面构造复杂形体 378
基本原则 378
顶点数组(VertexArray) 379
位置数组(PositionArray) 380
法向量数组(NormalArray) 381
颜色数组(ColorsArray) 381
纹理数组(TextureArray) 382
顶点缓冲(VertexBuffer) 383
索引缓冲(IndexBuffer) 385
网格多面体(Mesh) 387
11.2.10
实例:构造一个金字塔 388
11.2.11
顶点变形多面体(MorphingMesh) 390
11.2.12
实例:变形多面体 392
11.2.13
骨骼变形多面体(Ski edMesh) 393
11.2.14
实例:活动的手臂 395
多面体的外观属性 398
类A erance概述 398
深度和颜色属性(CompositingMode) 400
多边形属性(PolygonMode) 403
雾化属性(Fog) 407
材质属性(Material) 410
2维图像(Image2D) 412
纹理映射(Texture) 413
实例:添加多重纹理 417
光照 418
光照概述 418
光照的类型 420
光照的衰减 421
光源的选择和颜色 421
创建聚光源 422
实例:比较光照效果 423
实例:滚动的光源 424
构建三维世界 424
变换矩阵(Tra form) 425
变换类(Tra formable) 428
节点(Node) 430
抽象三维物体Object3D 432
节点组(Group) 435
世界(World) 436
背景(Background) 438
摄像机(Camera) 440
精灵(Sprite3D) 442
11.5.10
实例:活动的圣诞老人 444
11.5.11
场景绘制(Graphics3D) 445
11.5.12
实例:滚动的骰子 447
动画制作 451
类结构 451
关键帧序列(KeyframeSequence) 452
动画轨迹(AnimationTrack) 455
动画控制器(AnimationController) 457
实例:滚动的立方体 460
使用M3G文件创建3D场景 461
3ds max制作M3G文件 461
制作指南 463
浏览M3G文件 465
加载M3G文件 467
实例:遍历世界 468
本章小结 469
J2ME游戏开发技巧 470
目标设备的约束 470
受限的处理器 470
受限的存储器 471
联网能力和带宽 471
输入输出的多样性 471
外型和重量 472
移动设备的操作系统 472
针对J2ME游戏开发的技巧及优化技术 472
优化的基本知识 473
使用JBuilder查找程序的性能瓶颈 474
优化J2ME程序设计和编码,提高程序性能的方法 475
优化内存的使用 479
缩减应用程序体积 480
网络程序优化 482
延迟掩盖技术 482
程序设计的权衡 483
本章小结 485
手机游戏开发的总体理念 486
游戏开发的思路 486
从游戏玩家角度开发的游戏 487
从开发者角度开发的游戏 489
从游戏载体划分游戏 489
从游戏实现角度划分游戏 490
J2ME手机游戏的版本和移植性 490
J2ME的版本介绍 490
J2ME的扩展标准 492
J2ME的不同厂家实现的差别介绍 493
J2ME程序在不同手机之间的移植 493
本章小结 494
单屏游戏的设计与实现 496
游戏的策划以及架构 496
单屏幕手机游戏概述 496
手机游戏策划概论 497
逃亡者游戏的策划 499
逃亡者游戏的准备工作 499
程序的类结构 501
游戏的流程图 501
游戏的实现 502
主类escapeeMIDlet的实现 502
游戏闪屏SplashScreen类的实现 510
游戏菜单MenuList类的实现 513
高分屏幕HighScoreScreen类的实现 515
简介屏幕I tructio Screen类的实现 516
子弹Bullets类的实现 516
逃亡飞机Escape类的实现 521
游戏画布escapeeCanvas类的实现 524
结束屏幕GameOverScreen类的实现 529
14.2.10
声音效果SoundEffects类的实现 531
游戏的优化和改进 533
逻辑层和表现层的分离 533
玩家的定制 534
制作游戏的试玩版 537
游戏程序的注册 538
本章小结 542
滚屏游戏设计——经典超级玛丽 543
滚屏游戏的策划和准备工作 543
游戏的策划 543
游戏的准备工作 544
滚屏游戏的技术 544
游戏中用到的主要技术 544
滚屏游戏的驱动方式 545
进度条技术 547
滚屏游戏的架构 549
程序的总体架构 549
程序的类结构 550
滚屏游戏的实现 552
地图绘制的实现 552
碰撞检测 554
键控处理的实现 556
滚屏的实现 558
主要人物(玛丽)的实现 560
乌龟的实现 568
菜单的实现 569
游戏的主Canvas类的实现 572
游戏主Manager类的实现 574
滚屏游戏的优化和注意点 577
游戏中屏幕绘制技术的优化 577
游戏中新对象的产生和垃圾收集 578
游戏优化中时间、空间的权衡 578
游戏中关于来电挂起和恢复处理的注意点 579
本章小结 580
网络游戏设计——网络对战扑克 581
网络游戏客户端的设计实现 581
程序的设计 581
程序的架构 582
程序的实现 583
程序的优化 599
网络游戏服务器的设计实现 599
程序的设计 599
程序的架构 600
程序的实现 600
本章小结 608
3D迷宫游戏设计与实现 610
迷宫游戏的策划和准备工作 610
3D游戏开发概述 610
游戏的策划 611
游戏开发的准备工作 612
迷宫游戏的架构 612
游戏的线程 613
游戏的类结构 613
游戏的场景架构 614
游戏的流程 614
深度优先算法生成迷宫 616
迷宫游戏的实现 618
主类Maze3DMIDlet类 618
菜单列表MenuList类的实现 621
平面Plane类的实现 622
迷宫地图Maze类的实现 624
游戏画布MazeCanvas类的实现 632
设备属性Graphics3Dproperties类的实现 646
错误处理ErrorScreen类的实现 647
3D手机游戏的相关探讨 647
迷宫游戏的改善 648
3D手机游戏设计概要 648
3D绘制性能和游戏引擎 650
3D手机游戏的分类 651
本章小结 652
网络资源:
配套教学用书(配套教参、主课本等):
可替代教学用书:
丛书名称:
图书书评:
【欢迎来稿】 总编办: 客户服务:(010)62776969
教师服务***:010-62770175-3506
反盗版举报***:(010) 62782989
质量反馈:(010) 62772015
邮购***:(010) 62786544
邮购地址:北京市海淀区清华大学出版社邮购组收 邮编:100084
读者服务部(购书):(010) 62781733
通讯地址:清华大学学研大厦 A 座 邮编:100084
网管信箱:
版权所有(C)2005 清华大学出版社有限公司
Copyrights @ 2005 by Tsinghua University Pre . All Rights Reserved
京ICP备 05029640 号

参考资料

 

随机推荐