`
juansusan
  • 浏览: 72421 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

MIDP游戏开发中处理文字的换行方案

阅读更多

在游戏中,尤其是情景类的游戏当中,往往需要大量情节介绍的文字。要在小小的手机屏幕上显示这些文字,就必须对这些文字进行处理,使其能正确的换行,显示在你想要显示的宽度的范围内。下面我就会详细的介绍如何处理文字的换行。

  首先应该计算需要换行的位置。这里我们以文字需要显示的宽度linewd,和“\n”为换行的标志

static public int ChangLine(String str, Font font, int linewd, boolean fullword)
{
 // 计算需要换行的位置 str:需要显示的文字 font:文字的字体 linewd:需要显示的宽度
 int len = 0, wd = 0;
 for (int i = 0; i < str.length(); i++)
 {
  if (str.charAt(i) == ’\n’)
  {
   if (i == 0)
    return len + 1;
   else
    return len + 2;
  }
  wd += font.charWidth(str.charAt(i));
  if (wd > linewd)
  {
   if (fullword)
   {
    for (int j = len; j >= 0; j--)
    {
     if (str.charAt(j) < 0x30 || str.charAt(j) >= 128)
     {
      len = j;
      break;
     }
    }
   }
   return len + 1;
  }
  len = i;
 }
 return 0;
}

  计算好位置后,就开始为文字分行。

static public void DoLine(String infostr, int len)
{
 // 为字符串分行,以便于显示
 String tmpStr;
 Vector InfoLines = null;
 InfoLines = new Vector();
 int tmpint; //需要换行的位置
 while (true)
 {
  tmpint = ChangLine(infostr, DefaultFont, len, false);
  if (tmpint == 0)
  {
   InfoLines.addElement(infostr);
   break;
  }
  else
  {
   if (infostr.charAt(tmpint - 1) == ’\n’)
    tmpStr = infostr.substring(0, tmpint - 1);
   else
    tmpStr = infostr.substring(0, tmpint);
    InfoLines.addElement(tmpStr);
    infostr = infostr.substring(tmpint, infostr.length());
  }
 }
}

  以上就是处理文字分行的代码。接下来我讲介绍程序中制作文字的滚屏效果。请关注后续文章。

 

分享到:
评论

相关推荐

    J2ME的MIDP游戏开发毕业论文

    3.1 MIDP中的游戏API 9 3.2 游戏类构成 9 3.2.1 Boxer类的实现 10 3.2.2 GameCanvas类的功能及特点 10 3.2.3 Sprite类的功能及特点 11 3.3游戏角色的处理 11 3.4 游戏中的事件处理 12 3.4.1 key Pressed方法 12 ...

    MIDP 2.0 游戏开发

    4. **输入管理**:通过MIDP,开发者可以处理来自设备的各种输入,包括键盘、触摸屏和方向键,这些对于控制游戏中的角色或对象至关重要。 5. **网络功能**:MIDP 2.0支持无线应用协议(WAP),允许游戏与其他服务器...

    使用MIDP2.0游戏开发

    在MIDP2.0中,游戏开发得到了显著的增强,这主要得益于其新增的游戏API和其他图形处理能力的提升。本文将深入探讨MIDP2.0中游戏开发的关键概念和技术细节。 **游戏API** MIDP2.0引入了一套专门的游戏API,它包括`...

    J2me游戏开发包MIDP2使用示例

    在J2ME游戏开发中,MIDP2.0游戏开发包扮演了至关重要的角色。它包含了一系列API,如Canvas类,用于绘制游戏画面;GameCanvas类,继承自Canvas,提供了优化的绘图性能;以及Lemur库,提供了高级UI组件,如按钮、滑块...

    J2ME_游戏开发_with_MIDP2

    在J2ME游戏开发中,开发者需要考虑移动设备的限制,如屏幕大小、处理能力和内存限制等。此外,游戏的设计和开发流程也需要精心规划,包括游戏概念的形成、原型设计、迭代开发和测试等。 ### 接口设计 移动游戏的...

    midp 开发的推箱子游戏 以及 字母游戏 源码

    在MIDP中,开发者可能用字符串数组存储字母,玩家通过旋转或交换字母来形成有效的单词。游戏可能包含字典文件,用于验证玩家输入的单词是否正确。为了提高用户体验,游戏可能会有时间限制或步数限制。 在源码中,`...

    手机版象棋游戏采用MIDP1.0开发

    【标题】"手机版象棋游戏采用MIDP1.0开发"揭示了这款软件的核心技术基础,即基于Java Mobile Information Device Profile(MIDP)1.0标准进行开发。MIDP是Java Micro Edition(Java ME)的一个子集,专为资源有限的...

    J2ME MIDP 手机游戏程序设计

    J2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏...

    J2ME手机游戏MIDP1.0游戏入门

    这个教程针对的是那些想要进入手机游戏开发领域的初学者,提供了五子棋游戏的实例来帮助理解MIDP1.0的基本概念和编程技巧。 1. **MIDP1.0简介** MIDP1.0是Java ME的一部分,提供了一个基础框架,使得开发者能够...

    MIDP 2.0游戏API快速入门

    本篇将详细介绍如何利用MIDP 2.0中的javax.microedition.lcdui.game包来快速入门手机游戏开发。 ### javax.microedition.lcdui.game包介绍 javax.microedition.lcdui.game包是Java ME为游戏开发提供的一系列类和...

    Java MIDP开发实例集.rar

    6. 应用程序生命周期管理(Application Lifecycle):MIDlet是MIDP中的核心应用程序类,它具有启动、暂停、恢复和终止等状态,帮助开发者管理应用程序的不同阶段。 在"codesc.net"这个文件中,很可能包含了多个...

    移动设备中基于MIDP 2_0的2D游戏的开发

    ### 移动设备中基于MIDP 2_0的2D游戏的开发 #### 引言 随着无线移动应用及嵌入式系统的迅速发展,Java社区进程(JCP)推出了Java ME(Java Micro Edition)以适应这一发展趋势。Java ME旨在支持两种类型的设备:一...

    SUN MIDP2.0源码开发包.rar

    通过深入学习和实践SUN MIDP2.0源码开发包中的内容,开发者不仅能提升对J2ME平台的理解,还能掌握开发手机游戏的技巧,从而在这一领域中取得成功。随着移动设备技术的发展,虽然现代游戏更多地依赖于Android和iOS...

    MIDP和游戏用户界面

    对于初学者和简单游戏开发,基础的MIDP UI API仍然是一个起点,它们提供了构建游戏界面所需的基本工具。 5.6 范例 一个基础UI API的使用例子是创建一个简单的菜单界面,用于游戏选项或级别选择。 6. MIDP用户界面...

    midp2.0教程

    ### MIDP2.0教程概览与核心知识点 ...通过深入理解MIDP2.0的核心概念、掌握J2ME游戏开发的基础知识、熟悉MIDP2.0的新增功能,以及应对游戏开发中的常见挑战,开发者将能够创作出既具创意又富有娱乐性的手机游戏。

    《MIDP手机游戏设计》

    1. **Java ME基础知识**:MIDP游戏开发基于Java编程语言,因此了解Java的基础语法、面向对象编程概念以及异常处理是非常必要的。同时,熟悉J2ME的CLDC(Connected Limited Device Configuration)环境对于理解MIDP...

    Java手机游戏开发专辑

    Java手机游戏开发专辑是一系列深度探讨Java在手机游戏开发中的应用资源。...通过深入学习和实践,开发者不仅可以掌握Java在手机游戏开发中的应用,还能了解到如何利用MIDP创造引人入胜的移动游戏体验。

    用midp 开发 的贪吃蛇游戏

    用midp 开发 的贪吃蛇游戏,游戏可以设定多个级别

    android平台中使用j2me MIDP2.0中GameAPI

    在Android平台上,开发游戏时有时会遇到需要复用或移植早期J2ME(Java 2 Micro Edition)MIDP 2.0中的Game API的情况。MIDP 2.0是J2ME针对移动设备提供的一套游戏开发框架,其中Game API提供了丰富的图形和动画处理...

Global site tag (gtag.js) - Google Analytics