【发布时间】:2014-04-17 07:07:06
【问题描述】:
我在 Android 上的图像渲染方面遇到了一些问题。我可以在我的桌面版本和 Android 模拟器中正确地看到游戏,但是当涉及到真正的 Android 设备时,什么都没有绘制。
对象存在是因为如果我单击按钮我看不到执行的操作,我可以听到声音并看到正确绘制的 BitmapFonts。
问题发生在使用 spritebatcher 或 Actors 绘制为纹理的图像(例如图像)。
有什么想法吗?提前致谢。
在资产类中:
public static void texturePacker(){
if(S.DEBUG){
Settings settings = new Settings();
settings.maxWidth = 16384;
settings.maxHeight = 16384;
settings.jpegQuality = (float) 0.7;
TexturePacker2.process(settings, "imgs/res", "imgs/packs","pack");
}
}
public static void loadGameAssets() {
//Cargo todas las texturas del menu
enemy_punch_static=atlas.findRegion("punch_static");
enemy_punch_punyo1=atlas.findRegion("punch_punyo1");
...
}
在 Screen 实现类中:
...
Image countdown_go=new Image(Assets.countdown_go);
stage.addActor(countdown_go);
...
@Override
public void render(float delta) {
super.render();
Gdx.gl.glClear(Gdx.gl.GL_COLOR_BUFFER_BIT | Gdx.gl.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glClearColor(0.18431f,0.647058f,0.878431f, 1);
stage.act(delta);
stage.draw();
}
【问题讨论】:
-
您正在加载的文件的分辨率是多少?您遇到问题的设备是什么?另外,显示你的纹理加载代码。
-
我在真正的 Nexus 5 和 Android 平板电脑上进行了测试。模拟器正在运行 Nexus 4。使用我的资产加载代码进行更新。