2011-09-23 144 views
0

我使用libgdx,我装我所有的纹理,如下图所示,纹理加载

Texture objTexture=new Texture(Gdx.files.internal("imagename")); 

此代码是我ApplicationListener内。但是,我想在我的游戏开始时加载所有图像。我不想将它们加载到ApplicationListener中。我尝试访问OpenGL范围之外的纹理对象并失败。任何人都可以在此建议我吗?

回答

1

我认为你可以加载这些纹理(它涉及到将它们上传到VRAM中,所以我猜图形模块必须被初始化并且完成所有GL工作)在ApplicationListenercreate函数中。

此外,您可以考虑使用新的AssetManager来管理您的资源。或者写一个更简单的资产管理器。

+0

,感谢您的回答。但事实是,在libgdx我们可以加载通过文件句柄,像素图等纹理,我一直在使用他们ApplicationListener的范围之外加载图像,但IAM没有得到屏幕上的图像。屏幕完全转向white.If我写他们在创建ApplicationListener,每一个图像越来越加载时间,即使从一个层次到另一个层次shifiting。 – pradeepkalla

+1

对不起......所以,你加载图像数据了ApplicationListener的范围之内,不能用它组成一个纹理(它上传到VRAM)?把原始字节复制到Pixmap然后用它创建一个Texture?你有没有试过在http://badlogicgames.com/forum/中提出这个问题? – huff

+0

我已经将原始字节复制到一个像素图,但性能没有太大差别。以及如何将纹理加载到VRAM,我不知道你it.Can帮我我没有提出我的问题在论坛上的任何链接或tutrial.And想法。 – pradeepkalla