日期:2014-05-20  浏览次数:20645 次

String高手进
有什么办法   可以把一段   字符串   按字符一个一个先后循序打印(有间隔时间)到屏幕上并且判断是否到达屏幕边界   如果到达则   字符接着从第一个位置开始打印。。似乎有点难度   以前看类似代码   但不是我想要的这种效果   平台是J2ME   J2SE的一些类可能的需要自己写。

------解决方案--------------------
做个循环链表不就得了
------解决方案--------------------
如果你的延时用sleep或是yied来做话,比较简单,但是效果不好
如果用帧计数来延时的话,麻烦一点,但效果更好:
用几个全局变量来记录当前--对于字符串中的每一个字符的当前需要画的x,y,以及被画到字符的索引index.还有就是已画字符子串的长度text_w.如果text_w超屏,x重置,y+=字符高度.text_w=0; 否则DrawChar,并更新x,text_w,index;还可以播放打字声音.
延时,每次 帧计数%需要延时量 不等于0的话,就直接返回,不用再画了,既空转,或干点其它事.
------解决方案--------------------
这个个人觉得很简单的说,就是循环链表加一个线程就可以完成了
------解决方案--------------------
一个线程 一个循环.
------解决方案--------------------
canvas的getwidth()获得手机宽度,用font的charwidth( '宽 ')方法获得一个字的宽度
这样lz就可以判断是字否打印到了手机屏目末端
------解决方案--------------------
Char ch[] = s.getChars();
g.drawChar();