在游戏中,尤其是情景类的游戏当中,往往需要大量情节介绍的文字。要在小小的手机屏幕上显示这些文字,就必须对这些文字进行处理,使其能正确的换行,显示在你想要显示的宽度的范围内。下面我就会详细的介绍如何处理文字的换行。
首先应该计算需要换行的位置。这里我们以文字需要显示的宽度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());
}
}
}
以上就是处理文字分行的代码。接下来我讲介绍程序中制作文字的滚屏效果。请关注后续文章。
分享到:
相关推荐
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 ...
游戏外壳(GameCanvas)是MIDP平台中处理游戏图形显示的核心组件,它支持直接访问设备的屏幕缓冲区,提供了高效的图形绘制能力。开发者可以通过继承`GameCanvas`类并重写其方法来实现自定义的游戏控制逻辑。在处理...
4. **输入管理**:通过MIDP,开发者可以处理来自设备的各种输入,包括键盘、触摸屏和方向键,这些对于控制游戏中的角色或对象至关重要。 5. **网络功能**:MIDP 2.0支持无线应用协议(WAP),允许游戏与其他服务器...
在MIDP2.0中,游戏开发得到了显著的增强,这主要得益于其新增的游戏API和其他图形处理能力的提升。本文将深入探讨MIDP2.0中游戏开发的关键概念和技术细节。 **游戏API** MIDP2.0引入了一套专门的游戏API,它包括`...
在J2ME游戏开发中,MIDP2.0游戏开发包扮演了至关重要的角色。它包含了一系列API,如Canvas类,用于绘制游戏画面;GameCanvas类,继承自Canvas,提供了优化的绘图性能;以及Lemur库,提供了高级UI组件,如按钮、滑块...
在J2ME游戏开发中,开发者需要考虑移动设备的限制,如屏幕大小、处理能力和内存限制等。此外,游戏的设计和开发流程也需要精心规划,包括游戏概念的形成、原型设计、迭代开发和测试等。 ### 接口设计 移动游戏的...
在MIDP中,开发者可能用字符串数组存储字母,玩家通过旋转或交换字母来形成有效的单词。游戏可能包含字典文件,用于验证玩家输入的单词是否正确。为了提高用户体验,游戏可能会有时间限制或步数限制。 在源码中,`...
【标题】"手机版象棋游戏采用MIDP1.0开发"揭示了这款软件的核心技术基础,即基于Java Mobile Information Device Profile(MIDP)1.0标准进行开发。MIDP是Java Micro Edition(Java ME)的一个子集,专为资源有限的...
J2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏...
这个教程针对的是那些想要进入手机游戏开发领域的初学者,提供了五子棋游戏的实例来帮助理解MIDP1.0的基本概念和编程技巧。 1. **MIDP1.0简介** MIDP1.0是Java ME的一部分,提供了一个基础框架,使得开发者能够...
本篇将详细介绍如何利用MIDP 2.0中的javax.microedition.lcdui.game包来快速入门手机游戏开发。 ### javax.microedition.lcdui.game包介绍 javax.microedition.lcdui.game包是Java ME为游戏开发提供的一系列类和...
6. 应用程序生命周期管理(Application Lifecycle):MIDlet是MIDP中的核心应用程序类,它具有启动、暂停、恢复和终止等状态,帮助开发者管理应用程序的不同阶段。 在"codesc.net"这个文件中,很可能包含了多个...
### 移动设备中基于MIDP 2_0的2D游戏的开发 #### 引言 随着无线移动应用及嵌入式系统的迅速发展,Java社区进程(JCP)推出了Java ME(Java Micro Edition)以适应这一发展趋势。Java ME旨在支持两种类型的设备:一...
通过深入学习和实践SUN MIDP2.0源码开发包中的内容,开发者不仅能提升对J2ME平台的理解,还能掌握开发手机游戏的技巧,从而在这一领域中取得成功。随着移动设备技术的发展,虽然现代游戏更多地依赖于Android和iOS...
对于初学者和简单游戏开发,基础的MIDP UI API仍然是一个起点,它们提供了构建游戏界面所需的基本工具。 5.6 范例 一个基础UI API的使用例子是创建一个简单的菜单界面,用于游戏选项或级别选择。 6. MIDP用户界面...
### MIDP2.0教程概览与核心知识点 ...通过深入理解MIDP2.0的核心概念、掌握J2ME游戏开发的基础知识、熟悉MIDP2.0的新增功能,以及应对游戏开发中的常见挑战,开发者将能够创作出既具创意又富有娱乐性的手机游戏。
1. **Java ME基础知识**:MIDP游戏开发基于Java编程语言,因此了解Java的基础语法、面向对象编程概念以及异常处理是非常必要的。同时,熟悉J2ME的CLDC(Connected Limited Device Configuration)环境对于理解MIDP...
Java手机游戏开发专辑是一系列深度探讨Java在手机游戏开发中的应用资源。...通过深入学习和实践,开发者不仅可以掌握Java在手机游戏开发中的应用,还能了解到如何利用MIDP创造引人入胜的移动游戏体验。
用midp 开发 的贪吃蛇游戏,游戏可以设定多个级别
在Android平台上,开发游戏时有时会遇到需要复用或移植早期J2ME(Java 2 Micro Edition)MIDP 2.0中的Game API的情况。MIDP 2.0是J2ME针对移动设备提供的一套游戏开发框架,其中Game API提供了丰富的图形和动画处理...