【发布时间】:2016-01-05 19:13:44
【问题描述】:
我正在使用 LibGDX,我想知道是否有可能做一个语音系统,其中文本逐个字母地绘制,或者像一个人说话一样缓慢地绘制,而不仅仅是出现。这可能吗?我需要创建一个函数来完成它还是 LibGDX 或 java 是否内置了它??
谢谢, 卢克
【问题讨论】:
-
尝试使用一些时间间隔机制(等待)逐字打印,
我正在使用 LibGDX,我想知道是否有可能做一个语音系统,其中文本逐个字母地绘制,或者像一个人说话一样缓慢地绘制,而不仅仅是出现。这可能吗?我需要创建一个函数来完成它还是 LibGDX 或 java 是否内置了它??
谢谢, 卢克
【问题讨论】:
我会推荐与 Sameera 的评论类似的内容,尽管对于游戏来说等待通常不是一个好主意,因为它会停止其他所有操作,除非您在单独的线程中执行此操作。
与其等待,不如使用您的增量时间:
private float timeSinceLastLetter = 0f;
private static final float TIME_PER_LETTER = 100f;
public void render(float deltaTime) {
// do your other rendering
if(timeSinceLastLetter > TIME_PER_LETTER) {
timeSinceLastLetter = 0f;
// render your next letter here
} else {
timeSinceLastLetter += deltaTime;
}
}
还有很多细节需要填写,但这应该是一个粗略的想法
【讨论】: