【发布时间】:2017-05-20 02:46:18
【问题描述】:
我在 libGDX 中有一些 3-4 年的游戏项目。现在我决定更新它并从 Eclipse 迁移到 Android Studio。所以,我安装了 A.S.下载并安装了新的 libGDX 项目。然后添加了我的旧源文件和资产。一切顺利,游戏运行进行了一些细微的更改。除了 font.setColor 不再起作用 - 屏幕上的文本是黑色的。透明度也不起作用。以前效果很好。
所以,我的字体是用 Hiero 生成的,它是白色的(我在这里的其他一些问题中看到它必须是白色的)。
font = new BitmapFont(Gdx.files.internal("fonts/bundy.fnt"),
Gdx.files.internal("fonts/bundy_0.png"), false);
...
font.setColor(0.2f, 0.5f, 0.2f, 1.0f);
font.draw(game.batch, "MAP" , 835,580);
提到我用过
import com.badlogic.gdx.graphics.GL10;
但现在我搬到了
import com.badlogic.gdx.graphics.GL20;
因为不再支持 GL10。
另外,现在我使用GlyphLayout 类来获取文本边界。我没有看到任何其他可能对字体颜色产生任何影响的变化。
知道为什么 setColor 不起作用吗?是否有一些我必须做的新步骤?
【问题讨论】:
-
我和你一样,将我的旧项目更新为 IntelliJ 和新版本的 libgdx (1.9.5),不得不使用 GlyphLayout 等。我的 font.setColor() 工作得很好,所以我确定那不是你的问题。
-
某些东西肯定已经改变了。源代码是一样的,字体文件也是。
-
字体文件用的是什么图片格式?我的是 8bit png。
-
我不知道 xd,很久以前在 hiero 中创建了字体