我仍然遇到这个问题,我觉得我的脑袋会受到打击。可以说,我有这个代码用于绘制我创建的纹理。
public MainMenuScreen(TheSpring game) {
this.game = game;
//camera for interface
guiCam = new OrthographicCamera(1020, 640);
guiCam.position.set(1020 / 2, 640/2, 0);
//buttons
play = new Button(10, 120, 400, 300, AssetLoader.play);
highscores = new Button(460, 10, 82, 102, AssetLoader.highscores);
sound = new Button(10, 10, 72, 72, AssetLoader.soundEnabled);
sound.AddTexture(AssetLoader.soundDisabled);
if (!Settings.soundEnabled)
sound.SwitchTexture();
help = new Button(120, 160, 80, 15, "Help", Color.WHITE);
//enable buttons
play.Enable(true);
highscores.Enable(true);
sound.Enable(true);
help.Enable(true);
//touchpoint for unproject
touchpoint = new Vector3();
}`
我为播放按钮创建的纹理也是400x300。 问题是,当我尝试运行这个“应用程序”时,我的纹理模糊了。 Button是我的班级,我正在使用它的绘图方法。
public void Draw(SpriteBatch batcher) {
if (enabled){
if (text != null) {
AssetLoader.ComicFont.setColor(clr);
AssetLoader.ComicFont.setScale(ScaleWidth, ScaleHeight);
AssetLoader.ComicFont.draw(batcher, text, x, y + height);
}
if (texture != null) {
batcher.draw(texture, x, y, width, height);
}
}
}
结果就是这个(请不要因为我的绘画技巧,唯一的测试版本来判断我)
例如,在按钮的右侧,也应该有黑线,线应该是直的。你能帮我么? :)
答案 0 :(得分:0)
一种可能的解决方案是将纹理过滤器设置为线性 默认情况下,它们不是线性的。 试试这个
texture.setFilter(TextureFilter.Linear,TextureFilter.Linear);