熟悉box2d开发的朋友都知道,有一款编辑物理场景的神器RUBE,虽然Hola Studio本身已经具备相当强大的物理引擎编辑功能,但RUBE毕竟是专业做物理场景的,有必要将RUBE导出的资源集成进来。
下面介绍Hola Studio导入一个RUBE配置的过程。
- 新建一个空白的项目。
- 在场景中,拖入一个UIAssets组件
- . 选中UIAssets组件,在右侧特有属性栏中单击“管理资源“添加资源(RUBE导出的图片资源和JSON配置)。
4.在弹出的对话框中,单击增加按钮。
- 在资源管理窗口中,上传你的RUBE图片资源和JSON配置,然后按确定添加进来。
- 在场景的onOpen事件中添加如下代码,假设rube配置的名字叫rube.json:
var rube = new RubeCantk(this);
var assets = this.find("assets");
assets.loadJSON("rube.json", function (json) {
rube.setAssetsLoader(this.find("assets"));
rube.createRube(json);
b2Settings.b2_velocityThreshold = 1000;
}.bind(this));
- 预览当前场景,就可以看到RUBE加载后的效果
更多:
- RubeCantk可以配置debug,调用原生box2d debugDraw。
rube.createRube(json, {debug:true});
- 可以配置禁用鼠标拖动操作,可以这样(默认支持鼠标拖动)
rube.createRube(json, {interactive:false});
- RUBE和Studio产生的刚体可以同时存在。
- 可以操作原声刚体一样操作rube产生的刚体,通过find来查找,RUBE导出的body的name就是控件的name。
this.find("body0").remove(true);
this.find("box").setV(0, -3);
- 你可以监听contact事件。
this.find("body0").addEventListener("begincontact", function(event) {
console.log("contact with:" + event.body.element.name);
});
欢迎加群讨论
时间: 2025-01-16 22:21:59