Java手机游戏编程之MIDP图形设计篇01
http://tech.ddvip.com 2006年04月01日 社区交流
本文详细介绍Java手机游戏编程之MIDP图形设计篇01
所有的MIDP图形用户界面类都是javax.microedition.lcdui程序包的一部分。
2、MIDlet屏幕
MIDP有两种主要的屏幕类型:
A 高级屏幕
它包括简单的高级屏幕类,例如List和TextBox。用户不能添加额外的图形用户界面组件到这种类型的屏幕中。九宫格MIDlet示例程序使用的屏幕是继承于名为ChoosePieceScreen的List类,用于游戏者在游戏开始时选择棋子。
一般的Form屏幕类和List类很相像,但是它允许使用额外的图形元素,例如:图像、只读文本域、可编辑文本域、可编辑数据域、标尺和选项组。Form条目可以任意地被添加或删除。九宫格例程中没有使用Form类。
B 低级屏幕
Canvas(画布)屏幕(和Graphics、Image类) 可以用来编写基于低级应用编程接口的用户界面。这些类给予MIDlet程序员很大程度的绘画灵活性。程序员可以绘制各种类型的图形元素,例如:线、弧、矩形、圆角矩形、圆、文字(不同颜色、字体、大小)、位图剪辑等等。大部分的游戏MIDlet是使用基于画布屏幕类的主图形用户界面元素编写的。
一个MIDlet用户界面通常包含一个或多个屏幕。因为每次只能显示一个屏幕,因此MIDlet具有良好设计的结构是非常重要的进行,这样就能更加容易地处理屏幕之间内容的切换。
下面的代码段说明了在一个MIDlet中切换屏幕的方法,基于屏幕类和对应的MIDlet回调。
代码段1:
Class MyMIDlet extends MIDlet
{
private FirstScreen firstScreen;
private SecondScreen secondScreen;
public MyMIDlet()
{
…
}
public void startApp()
{
Displayable current = Display.getDisplay(this).getCurrent();
if (current == null)
{
firstScreen = new FirstScreen(this, …);
Display.getDisplay(this).setCurrent(firstScreen);
//显示应用程序的第一个用户界面屏幕
}
else
{
Display.getDisplay(this).setCurrent(current);
}
}
// FirstScreen 回调切换到下一个屏幕
public void firstScreenDone()
{
…
secondScreen = new SecondScreen(this, …);
display.getDisplay(this).setCurrent(secondScreen);
}
// SecondScreen回调终止应用程序
public void secondScreenQuit()
{
…
destroyApp(false);
notifyDestroyed();
}
…
}
责编:豆豆技术应用