国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MIDP中處理文字的換行

2019-11-18 16:12:05
字體:
來源:轉載
供稿:網友
       在游戲中,尤其是情景類的游戲當中,往往需要大量情節介紹的文字。要在小小的手機屏幕上顯示這些文字,就必須對這些文字進行處理,使其能正確的換行,顯示在你想要顯示的寬度的范圍內。下面我就會詳細的介紹如何處理文字的換行。

          首先應該計算需要換行的位置。這里我們以文字需要顯示的寬度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());

            }
       }
}

以上就是處理文字分行的代碼。接下來我講介紹程序中制作文字的滾屏效果。請關注后續文章。

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和政县| 桑日县| 如皋市| 定南县| 无为县| 潢川县| 葵青区| 玉树县| 宁国市| 赣州市| 虞城县| 义乌市| 三亚市| 莒南县| 额尔古纳市| 河源市| 平昌县| 西丰县| 宜兰市| 万安县| 紫云| 怀集县| 柞水县| 始兴县| 咸阳市| 五常市| 张北县| 阜阳市| 十堰市| 额尔古纳市| 循化| 岑溪市| 西峡县| 滨州市| 米泉市| 南通市| 垦利县| 邵阳县| 惠来县| 茶陵县| 太白县|