画String时,没有做过移植的,仅仅在模拟器上测试的同学们,可能都会发现,画的String怎么老是不固定。对的,不同机器,不同模拟器,不同font大小都不一样。画String似乎让人很迷茫了,难道每个机型都自己一套代码?呵呵,下面提提j2me游戏中的通常做法吧。
自己做点阵字库我们不提。当然这是个解决方案,据说gameloft是这样搞的,好多游戏公司也是这样搞的。这里不多介绍了。
一般做法,会设置一个font:
public static Font smallFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
在paint方法里g.setFont(smallFont)设置进去。为什么是smallFont,不是lagreFont?它们都行的,只是想提高速度,提高一个屏幕容纳字的数量。 放心吧,手机里的小号字体,人眼肯定可以看清楚的。font在手机里,大小font是可以的,其他型号的字体支持得不好,想想吧,手机才多大内存啊?把什么字体都放进去,手机还能玩不?
在画String前,graphics.drawString可以确定起始画点坐标x,y。而font.stringWidth(String str)
则可以确定stri将画出多少个像素宽。font.getHeight()可以得到多少像素高。 这样画之前就要先定好位置,同时注意anchor.
大屏中屏的测试真机经验告诉我,这些机子一行smallFont能放得下最多11个中文,12个有些机器就可能不够放了。假设有很长的String呢?比如rpg的对话,或者游戏背景介绍等很多字符的String。这些String里会有一些是英文,一些数字,一些中文等。怎么办?网上据说有这种函数。传一个font,一个String,一个指定的高度,长度方框内。会返回一个String[],然后你只要根据String[]一行行画出来就成了。我这里也没去找这样了函数,也没必要。把String打成char[], charAt(i)也成,font.charWidth(ch c)告诉我们,自己可以搞定。根据font.getHeight(),font.charWidth(ch c),自己就可以写像这样的函数了。控制到每个字符,遇到\n还可按回车处理,等等
分享到:
相关推荐
J2ME开发 J2ME开发 J2ME开发 J2ME开发
J2ME API J2ME API J2ME API J2ME API J2ME API
j2me入门教程j2me入门教程j2me入门教程j2me入门教程j2me入门教程
J2ME培训教程,以前学JJ2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程2ME发的一个PPT,内容还可以,需要的朋友不要客气J2ME...
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
J2ME游戏开发 J2ME游戏开发 J2ME游戏开发
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
j2me手机浏览器 j2me手机浏览器 j2me手机浏览器
j2me教程j2me教程j2me教程j2me教程
J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码
j2ME初学Demo j2ME demo j2me demo j2ME实例
J2ME新手写的飞机游戏,希望初学者喜欢,或许对你有所帮助。
j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋j2me五子棋...
j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解j2ME游戏开发详解
j2me,j2me游戏引擎,手机游戏引擎,j2me RPG游戏引擎
j2me点阵字库,适合j2me游戏的一个很小的字库
j2me 环境搭建 eclipse Eclipse j2me j2me 环境搭建 eclipse Eclipse j2me j2me 环境搭建 eclipse Eclipse j2me j2me 环境搭建 eclipse Eclipse j2me
经过了13年的时间,现在我们检视J2ME的发展历史,我们可以发现,虽然在1999年,Java被切割成J2SE、J2ME、J2EE,所以有了J2ME这个名词的出现。但是Java并非1999年开始才开始发展嵌入式系统上的应用。其实,Java本来...
j2me课件 j2me课件j2me课件 j2me课件j2me课件 j2me课件
J2me学习的好帮手,详解,细节,自认为很有帮助,解密版,