您当前的位置: 首页 > 教育培训 >> 中小学

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

2021-10-27 06:06:07

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

首先应该计算需要换行的位置。这里我们以文字需要显示的宽度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 ngth(); i++)

{

if (arAt(i) == ’\\n’)

{

if (i == 0)

return len + 1;

else

return len + 2;

}

wd += arWidth(arAt(i));

if (wd linewd)

{

if (fullword)

{

for (int j = len; j = 0; j--)

{

if (arAt(j) 0x30 || arAt(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)

{

dElement(infostr);

break;

}

else

目前 {

if (arAt(tmpint - 1) == ’\\n’)

tmpStr = bstring(0, tmpint - 1);

else

tmpStr = bstring(0, tmpint);

dElement(tmpStr);

infostr = bstring(tmpint, ngth());

}

}

}

以上就是处理文字分行的代码。

查看本文来源

英太青胶囊去哪能买到
乌兰察布白癜风医院
南昌白癜风医院
推荐阅读
图文聚焦