首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPCT加载多个对象

JPCT加载多个对象
EN

Stack Overflow用户
提问于 2012-07-15 04:01:50
回答 2查看 2K关注 0票数 2

我目前正在学习Android的JPCT。在阅读了一些教程和示例后,我注意到每个人都将自己的对象和纹理一个接一个地加载到场景中,如下所示:

代码语言:javascript
复制
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文件具有多个对象,则会将纹理应用于所有对象。好的,到目前为止一切都还好。

但是,如果我在同一个文件中有数百个对象来为游戏创建场景,每个对象都有自己的纹理,那会怎么样呢?

我必须一个接一个地加载它们和它们的纹理?

有没有办法让这一切自动化?也许是一些已经拥有纹理关系的文件格式,或者类似的东西?

如有任何帮助,我们不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-16 13:59:46

我自己找到了一个解决方案!

您实际上不必手动加载纹理,就像在

代码语言:javascript
复制
cube.setTexture("tex");

将纹理文件添加到TextureManager时,只要保持纹理文件名与在混合器中指定的名称相同:

代码语言:javascript
复制
TextureManager.getInstance().addTexture("text.png", new Texture(getAssets().open("text.png")));

通过这样做,Load方法将自己应用纹理!

票数 3
EN

Stack Overflow用户

发布于 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);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11486994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档