`
yyzhpq
  • 浏览: 301674 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
阅读更多
  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();
}

}

  这个MIDlet使用了两个屏幕类(FirstScreen和SecondScreen)作为用户界面。当开始执行MIDlet的时候,它设置当前显示屏幕为FirstScreen。当需要从FirstScreen切换到SecondScreen的时候,FirstScreen 调用父MIDlet方法firstScreenDone(参见下面的代码)。firstScreenDone方法创建并设置SecondScreen为当前显示的屏幕。

  代码段2: 包含MIDlet回调的FirstScreen示例

Class FirstScreen extends Form implements CommandListener {
private MyMIDlet midlet;
public FirstScreen(MyMIDlet midlet)
{
this.midlet = midlet;

}
public void commandAction(Command c)
{
if (c == cmdQuit)
{
parent.firstScreenDone();
}

}

}

  3、MIDP用户界面应用编程接口

  保证基于高级应用编程接口类的用户界面对象的可移植性和适用性是MIDP设备的职责。

  另一方面,像Canvas和Graphics这样的低级类为程序员提供了更大的自由空间让其控制其用户界面的视觉表现,并且监听低级键盘事件。程序员还要负责确保应用程序在不同特性(例如显示尺寸、彩色或黑白,以及不同键盘类型)的移动设备上的可移植性。比如说,有可能需要使用getWidth()和getHeight()方法调节用户界面外观使其适应一个或更多设备的可用Canvas尺寸。

  下面的九宫格MIDlet例程将介绍:

   简单应用高级应用编程接口;

   使用低级应用编程接口来绘制线、弧、字符串和图像等图形;

   不同显示尺寸的移动设备之间的MIDlet移植问题

   键盘代码与游戏动作之间的映射

  本章概述了MIDP图形用户界面的设计,如果想得到更进一步的信息,请参阅
http://java.sun.com/products/midp/ 。
<script type="text/javascript"> <!-- google_ad_client = "pub-3051157228350391"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel ="0045736275"; //--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <iframe name="google_ads_frame" scrolling="no" marginheight="0" allowtransparency="65535" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-3051157228350391&amp;amp;dt=1120830150750&amp;amp;format=728x90_as&amp;amp;output=html&amp;amp;channel=0045736275&amp;amp;ad_type=text_image&amp;amp;cc=551&amp;amp;u_h=768&amp;amp;u_w=1024&amp;amp;u_ah=740&amp;amp;u_aw=1024&amp;amp;u_cd=32&amp;amp;u_tz=480&amp;amp;u_his=11&amp;amp;u_java=true" marginwidth="0" frameborder="0" height="90" width="728"></iframe>
分享到:
评论

相关推荐

    Java手机游戏编程之MIDP图形设计篇

    ### Java手机游戏编程之MIDP图形设计篇 在探讨Java手机游戏编程中关于MIDP(Mobile Information Device Profile)图形设计的知识点时,我们首先需要理解MIDP及其在移动设备上的应用背景。MIDP是Java ME(Micro ...

    Midp2Exe Midp2Exe

    Java ME(Midp)是Java平台的一个子集,设计用于资源有限的移动设备,如早期的智能手机和平板电脑。它包含了Java应用程序接口(API)和一个运行环境,使开发者能够创建跨平台的移动应用。然而,由于并非所有计算机...

    MIDP图形

    **MIDP图形技术在手机游戏中的应用** MIDP(Mobile Information Device Profile)是Java ME(Micro Edition)的一个子集,主要用于开发移动设备上的应用程序,尤其是早期的智能手机和平板电脑。在MIDP框架下,图形...

    深入MIDP2.0(2) - CLDC与MIDP工具类别

    《深入MIDP2.0(2) - CLDC与MIDP工具类别》这篇电子文档聚焦于移动设备上的应用程序开发,特别是针对Java ME(Java Micro Edition)平台的MIDP2.0(Mobile Information Device Profile)和CLDC(Connected Limited ...

    MIDP图形编程简介.pdf

    **MIDP图形编程简介** MIDP(Mobile Information Device Profile)是Java ME(Micro Edition)的一部分,用于开发在移动设备和嵌入式系统上的应用程序,特别是早期的智能手机和平板电脑。这个平台提供了一套丰富的...

    《MIDP手机游戏设计》

    2. **MIDP API**:MIDP提供了丰富的API,如用户界面组件、网络连接、数据存储等,这些都是开发游戏时的核心工具。例如,`javax.microedition.lcdui`包中的类用于创建图形用户界面,`javax.microedition.io`包则用于...

    J2ME_游戏开发_with_MIDP2

    J2ME(Java 2 Micro Edition)是一种专为嵌入式和移动设备设计的Java平台。MIDP(Mobile Information Device Profile)是J2ME的一个重要组成部分,专门用于移动设备的应用开发,尤其是游戏开发。MIDP 2.0在MIDP 1.0...

    高效MIDP编程中文版

    2. **用户界面设计**:MIDP提供了一套有限的用户界面组件,如表单、按钮和文本字段。书籍会详细讲解如何使用这些组件构建简洁且功能丰富的用户界面,并讨论适配不同屏幕尺寸和方向的策略。 3. **事件处理**:MIDP中...

    midp2.0教程

    MIDP2.0(Mobile Information Device Profile 2.0),作为Java ME(Java Micro Edition)的一部分,专为资源受限的移动设备设计,如手机、PDA等,提供了标准的Java API集,使得开发者能够构建丰富的应用和服务。...

    一个MIDP程序设计,王森主编,分享了!!

    2. **MIDP API**:这是开发MIDP应用的核心,包括 LCDUI(Limited Connected Device Configuration User Interface)库,用于创建简单的图形用户界面,如表单、按钮和文本输入;以及CLDC(Connected Limited Device ...

    MIDP和游戏用户界面

    MIDP,全称Mobile Information Device Profile,是Java 2 Micro Edition (J2ME) 的一部分,专为移动设备设计,如手机和个人数字助理(PDA)。MIDP 提供了一套API,用于开发和运行小型应用程序,称为MIDlets。这些应用...

    MIDP 2.0 TheGame API

    **MIDP 2.0 The Game API** 是一个针对移动设备的游戏开发接口,它是Java Micro Edition (JME) 的一部分,特别设计用于在功能受限的移动设备上创建丰富的游戏体验。MIDP 2.0是MIDP平台的一个重要升级,提供了更多的...

    MIDP1.0开发者指导

    MIDP(Mobile Information Device Profile)1.0是Java 2 Micro Edition(J2ME)的一个子集,专为小型设备如早期的智能手机和平板电脑设计,用于开发移动应用程序,特别是手机游戏。这个平台提供了一套API,使得...

    midp2.0 GameAPI实现

    在Java ME(J2ME)平台上,MIDP(Mobile Information Device Profile)是为移动设备设计的一个精简版Java API。MIDP 2.0是这个平台的一个重要升级,它引入了对游戏开发的强大支持,主要体现在Game API上。这个API...

    Java移动通信程序设计-J2ME MIDP

    Java移动通信程序设计-J2ME MIDP是Java技术在移动设备上进行应用程序开发的一个关键领域。J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,专为资源有限的嵌入式设备,如手机、智能手表以及家用电器等设计...

    j2me的midp2.0所有源代码

    1. 用户界面:MIDP 2.0提供了一个轻量级的用户界面框架,包括Canvas类,它是绘制图形的基础;Form类,用于显示文本和用户输入;Item类,如ChoiceGroup和TextBox,支持用户交互。 2. 网络支持:MIDP 2.0引入了对HTTP...

    MIDP 图形编程简介(中文)

    以一个简单的小游戏为例子,比较全面的介绍了MIDP图形编程方法。 包括以Screen为基础的高层界面和以Canvas为基础的底层界面开发都有涉及 目 录 1 引言...................................................... 5 ...

    高效MIDP编程 学习MIDP

    - **MIDP**: Mobile Information Device Profile 的缩写,是Java ME的一部分,专为移动设备设计的标准平台,支持创建轻量级的应用程序和服务。 - **目标**: 本指南旨在提升MIDP应用程序的效率,涵盖执行速度、JAR...

Global site tag (gtag.js) - Google Analytics