我目前正在学习Android的JPCT。在阅读了一些教程和示例后,我注意到每个人都将自己的对象和纹理一个接一个地加载到场景中,如下所示:
cube = loadModel(getAssets().open("cube.3ds"), 1);
TextureManager.getInstance().addTexture("tex", new Texture(getAssets().open("text.png")));
cube.setTexture("tex");
cube.build();
world.addObject(cube);这应该会加载一个3ds文件(我在Blender上创建的),给它应用一个纹理,然后把它放在世界上。如果此3ds文件具有多个对象,则会将纹理应用于所有对象。好的,到目前为止一切都还好。
但是,如果我在同一个文件中有数百个对象来为游戏创建场景,每个对象都有自己的纹理,那会怎么样呢?
我必须一个接一个地加载它们和它们的纹理?
有没有办法让这一切自动化?也许是一些已经拥有纹理关系的文件格式,或者类似的东西?
如有任何帮助,我们不胜感激!
发布于 2012-07-16 13:59:46
我自己找到了一个解决方案!
您实际上不必手动加载纹理,就像在
cube.setTexture("tex");将纹理文件添加到TextureManager时,只要保持纹理文件名与在混合器中指定的名称相同:
TextureManager.getInstance().addTexture("text.png", new Texture(getAssets().open("text.png")));通过这样做,Load方法将自己应用纹理!
发布于 2015-08-07 02:10:50
你应该这样做:
Texture texture = new Texture(BitmapHelper.rescale(BitmapHelper.convert(getResources().getDrawable(R.drawable.image)), 64, 64)); TextureManager.getInstance().addTexture("texture", texture);
https://stackoverflow.com/questions/11486994
复制相似问题