蓝色理想
pages.think
加入收藏
 栏目导航: 新闻 | 试用手记 | 评测报告 | 经验及技巧 | 资料大全 | 铃声与短信
 您现在位置:首页 < 移动通讯 < 经验及技巧 < Java手机游戏编程之MIDP图形设计篇
Java手机游戏编程之MIDP图形设计篇

日期:2004-5-21 14:38:21 作者:wayne 文档类型:转载 来自:天极yesky

二. 示例:九宫格(TICTACTOEMIDLET)

  1、设计

  概述

  这个示例应用程序是一个简单的MIDlet,允许游戏者与MIDlet程序之间玩一种称为九宫格的人机游戏。这个例程说明:

   使用高级和低级用户界面组件

   在多显示屏幕之间进行切换

   处理简单的命令

   动态适配显示尺寸

   处理键盘事件

  游戏者首先选择使用哪种棋子(用圆和叉表示),然后开始游戏。游戏者和MIDlet谁是先手是随机决定的。每走一步棋之后,程序都要检查游戏状态,判断游戏是否已经结束。游戏的几种可能结果是:游戏者赢,MIDlet程序赢,或者平局。在应用程序运行期间,双方的得分都能显示出来。游戏者可以随时开始新游戏或者退出游戏。 

  图2:所示的屏幕快照是游戏中的MIDlet用户界面。

图2:游戏屏幕的先后顺序

  2、九宫格MIDlet

  下面是九宫格MIDlet的类模式图:

图3:九宫格MIDlet类图

  当MIDlet启动方法startApp()时,将创建闪烁屏幕和第一个游戏屏幕(ChoosePieceScreen)。闪烁屏幕显示4秒之后,第一个游戏屏幕开始显示。ChoosePieceScreen让游戏者选择使用哪种棋子(圆还是叉)。当游戏者做出选择之后,他可以使用OK键确认。这会使ChoosePieceScreen回调主MIDlet的choicePieceScreenDone()方法。

  ChoosePieceScreen是使用高级应用编程接口List类实现的。 

 图4:ChoosePieceScreen是一个高级用户界面List子类

  choosePieceScreenDone()回调创建并显示下一个屏幕,这个屏幕在此应用程序中作为游戏的主屏(GameScreen)。

  每当轮到游戏者下棋的时候,游戏者使用GameScreen的箭头键和Select按钮来选择想要走的空格。每一回合之后,应用程序都会检查游戏的状态,检查其是否符合游戏结束条件并显示游戏结果。游戏者通过点击GameScreen的Quit命令结束游戏,或使用New命令开始新一轮游戏。Quit(结束)命令调用TicTacToeMIDlet的quit()方法,然后MIDlet就会调用destroyApp()方法来终止整个MIDlet程序。

  游戏程序逻辑被封装在一个单独的Game类中。本文只关注MIDlet的图形设计,而对游戏程序逻辑不作深入探讨。如果要与现有的applet Java程序作比较,请参阅http://java.sun.com/applets/jdk/1.0/demo/TicTacToe/TicTacToe.java 和http://java.sun.com/products/jfc/tsc/articles/tictactoe/index.html 中的游戏程序逻辑。

GameScreen通过使用低级Canvas和Graphics类来实现。它使用Canvas、Image和Graphics对象来绘制图形。

GameScreen首先初始化基于画布尺寸的显示面板。这可让MIDlet能够运行在不同显示屏幕的移动设备上。在本例中还使用了一个Image对象用来表示游戏面板。然后GameScreen根据游戏者在ChoosePieceScreen中所做的选择为游戏者和MIDlet分配棋子。游戏然后进行初始化(包括随机决定谁是先手),然后游戏就开始了。

为了使GameScreen能够被移植,MIDlet的键盘代码必须被映射到游戏动作上,如:Up、Down、Left、Right和Fire,用于具有不同键盘的移动设备。每当一个键被按下的时候,keyPressed()方法就会判断这是一个方向键还是一个Fire/Select键。如果按下的键是方向键,光标就会相应地移动,帮助游戏者可视化地选择一个空格放入棋子。Select键用来选择一个空格放入棋子。如果探测到满足游戏结束的条件,就会显示一条信息宣布游戏的获胜者和本轮游戏的得分。(见下图)

图5: GameScreen 是一个低级 Canvas(画布)子类

  出处:天极yesky
责任编辑:
冰点的冰蓝色
上一页 MIDlet 图形简述 下一页 TicTacToeMIDlet.java
Page : 1 2 3 4 5 6 7 
相关文章:
· z608自己制作JAVA电子书
· 制作NEC JAVA电子书
· 用好手机的Java
· Java自制手机联网游戏
· 用Java多媒体框架设计自动播放机

蓝色理想数码站版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,相关评测,如需使用,请与原作者联系,版权归原作者所有

推荐文档】【发表评论】【关闭窗口
· 谈音质标准与音质评价方法
· MP3维修知识经验总结
· 数码相机简易自制立体影像
· 数码照片拍摄用光经验谈
· 手机游戏下载完全实用攻略
· SP智能手机使用IA资源管理器快捷键汇总
· 了解智能手机的操作系统们

· 手机游戏下载完全实用攻略
· SP智能手机使用IA资源管理器快捷键汇总
· 了解智能手机的操作系统们
· 免费WAP风起云涌 移动未来谁主?
· [香港] 结束等待!索爱Z800i行货正式开卖
· 小心你的手机也中毒!
· 手机常见九大故障自我排除法
· 16个手机相关名词释疑
· 主流无线传输技术GPRS与CDMA对比
· GPRS服务详细介绍

版权隐私 | 关于我们 | 项目合作 | 联系我们 | 受众分析 | 更多链接 | 网站地图

2004 digi.blueidea.com All rights reserved 京ICP备05002321号