采用新的 MIDP 2.0 API来编写手机游戏给我们带来了很多乐趣. 对程序员来说 MIDP 2.0相对于MIDP 1.0最大的区别就是图像处理能力大大增强. 当然,使用MIDP 1.0 你也可以写出许多令人激动的游戏——那些对 Atari 2600 记忆犹新的人们对之津津乐道,尽管他们不是那么完美。midp2.0 也许还不能让你使用最新的游戏技术,但是它至少可以让手机中的超级马里或 thereabouts 成为现实。
本文将通过一些简单游戏 MIDlet向你展示midp2的用法. 并且本文的读者被假定为熟悉java语言的j2me新手. 我的例子向你展示了一个在草原中跳跃的牛仔.这个游戏看起来的确很菜,不过它包含了你在编写大部分游戏时常用到的技术.

开始咯
如果你还没有下载j2me,先下载一个吧:http://java.sun.com/j2me/download.html. Java 2 Micro Edition Wireless Toolkit 包含MIDlet 开发环境,模拟器, 还有一些例程.在这里我就不对怎么安装j2me在浪费笔墨了,因为随着环境的不同。安装不尽相同,而且联机文档中已经说的蛮清楚的了.
当你查看demo程序的时候, 你会发现它包括jar文件和一个jad文件. Jar包括了class文件, 资源文件,以及一个 manifest 文件. jad 包含了加载MIDlets必须的一些属性:比如jar的大小, 包含MIDlet的 jar的url地址.下面是我的 Hello World 例程中所用到的jad文件内容:
MIDlet-1: Hello World, /icons/hello.png, net.frog_parrot.hello.Hello
MMIDlet-Description: Hello World for MIDP
MIDlet-Jar-URL: hello.jar
MIDlet-Name: Hello World
MIDlet-Permissions:
MIDlet-Vendor: frog-parrot.net
MIDlet-Version: 2.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-2.0
MIDlet-Jar-Size: 3201
MIDlet-1 (以及MIDlet-2, 等.) 属性 给出MIDlet的名称, MIDlet's 图标的位置, 以及MIDlet类.前两个项目描述了在MIDlet菜单中改MIDlet条目将如何显示.当然 icon 必须存在于jar中,它的用法和 Class.getResource(String res)中res参数用法一样. 所以在本例中,jar根目录下的icons子目录中一定包含一个名为 的hello.png,它看起来是下面这个样子:
MIDlet-Jar-Size 描述了对应的jar文件的字节数. 如果你使用wtk重新编译程序的话, 你必须手动修改这个属性(译注:不是吧,程序似乎自动会修改的吧) MIDlet-Jar-Size 属性与jar 文件不匹配的话程序不会运行(译注:大伙自己试试吧). (因为老是手动修改jar大小的确是非常麻烦的,所以作者在文章的最后附带了一个build用的script,大伙参考参考吧.) MIDlet-Jar-URL 属性告诉系统从什么地方下载这个 MIDlet jar 。如果jar 文件和 jad 在同一个目录,那么只要写jar的名称就成了. 其他的属性都是说明程序自身的.
Hello World
为了说明 MIDlet 的结构,我写了这个 "Hello World". 该 MIDlet 在显示器上显示"Hello World!" ,当按下 "Toggle Msg" 按钮时,字符串被移除. 按下 "Exit" 按钮的话程序会退出.程序包括了两个类: MIDlet 类Hello以及Canvas 类HelloCanvas. 这真的的很简单,大伙儿可以看我在代码中的注释.. 共3页: 1 [2] [3] 下一页 【内容导航】
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |