1

我正在开发一个小型 j2me 游戏,我想为这个应用程序创建一个菜单。我把菜单想象成一个垂直的项目列表,左侧或右侧有一个光标,我可以从一个项目移动到另一个项目,类似于这个菜单示例,但作为一个主菜单。我应该使用什么元素来获得这样的效果?我只需要建议或链接,我会自己开发。

提前致谢!

import java.util.Vector;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
4

1 回答 1

0

你的计划看起来是可行的。无法提供太多链接,因为不记得任何可能对您正在做的事情有所帮助的链接。实际上,对您最有用的链接可能是 MIDP ( JSR 118 ) API 参考 - 您的部分将主要是lcdui包,尤其是GraphicsAPI。

至于建议,没问题。首先要注意的是,与之前的隐式列表实验相比,将会有更多的编码和更多(更多)测试/调试。如果您能想到可能成为问题的一些可能的截止日期/时间要求 - 请记住将隐式列表作为后备的先前设计。它看起来不会那么花哨,但它会安全且正确地工作。

另一件重要的事情是决定你要定位什么样的设备。对于您将要开发的菜单,可能很难在配备ITU-T 键盘的 160x200 基本手机和 400x600 触摸屏智能手机上获得一致的外观和感觉。下面我将假设您将尝试针对尽可能广泛的设备 - 请注意,您可以获得的设备越窄,编码和测试就越容易。

当针对许多不同的设备时,使用可以配置为模拟各种显示尺寸和分辨率、是否存在触摸屏输入等的模拟器会很有帮助。请记住,尽管单独的模拟器不能完全模拟真实设备。为了让您脚踏实地,还可以考虑使用真实设备对您的应用程序进行一些定期冒烟测试,最好使用无线 (OTA) 安装。

以下是我现在能想到的一些特定的 API 技巧。

  • 用于Canvas.getGameAction处理按下的键代码 - 这可能是向上/向下计算和选择菜单操作的最可靠/便携的方式。
  • 用于Canvas.hasPointerEvents计算是否有触摸屏支持。如果事实证明您的精美菜单在点击屏幕时无法做出反应,使用触摸屏设备的用户可能会感到失望。
  • 使用Font.getHeightFont.stringWidth计算菜单项文本占用了多少空间。
  • Image.getGraphics如果您想在图像对象上绘制一些东西,请使用。

lcdui.Graphics正如我所提到的,您很可能会使用API做很多事情。它大多相当简单,但您可能需要了解一些关于剪裁的棘手内容。祝你好运。

于 2011-09-04T20:30:14.200 回答