我正在尝试为Android编写游戏。
我想从配置文件加载一个openGL纹理,但我只知道如何通过使用R.drawable类来实现。
所以我有以下代码
Bitmap bitmap= BitmapFactory.decodeResource(context.getResources(),R.drawable.texturetest);
gl.glGenTextures(1,textures,0);
gl.glBindTexture(GL10.GL_TEXTURE_2D,textures[0]);
gl.glTexParameterf(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MAG_FILTER,GL10.GL_LINEAR);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D,0,bitmap,0);
所以问题是如何使用字符串(从配置文件中检索)解码位图而不是R.drawable.texturetest
即配置文件看起来大致如此
robot_texture=texturetest
答案 0 :(得分:0)
BitmapFactory
有其他方法可以用于此目的。
decodeFile
,如果您有位图的纯文件名。decodeStream
,以InputStream
为参数。如果您将位图存储在资源中而不是资源中,那么这应该与AssetManager.open
(返回InputStream
)结合使用。