ThingJs开发教程

517 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情

“金秋十月,我要连续30天更文,做劳模,拿手机摄影神器!点击查看活动详情 “即可成功参与

ThingJs开发教程

APP对象

App 对象是 ThingJS 库的功能入口,用于 3D 场景初始化

1、创建APP对象的语法:

var app = new THING.App(); //通过创建APP对象,对3D场景进行初始化

2、加载园区场景代码:

var app = new THING.App({
    url: 'https://www.thingjs.com/static/models/factory',  // 场景地址,园区的相对路径
    background: '#000000',
    env: 'Seaside',
});

3、加载地图场景代码:

var app = new THING.App(); // 3D场景初始化
​
app.background = [0, 0, 0]; // 设置场景背景为黑色//引用地图组件脚本
THING.Utils.dynamicLoad(['https://www.thingjs.com/uearth/uearth.min.js'], function () {
    app.create({
        type: 'Map',
        url: 'myMapDirectory',
        complete: function (event) {
            console.log(event.object.userLayers.length);//日志窗口显示地图层级数量
        }
    });
});

常用APP对象属性:

image.png

常用APP对象方法:

image.png

创建/销毁物体

在 3D 场景初始化后,我们可以通过 create() 方法来创建物体,例如,加载模型、添加标记、创建基本形体等。我们还可以通过 create() 方法来加载园区,例如,添加多个园区。通过 destroy() 方法,可以销毁物体,即在场景中删除物体

创建物体:

//通过 create() 方法创建物体,并通过对象名称和属性,来添加所创建的物体属性
var obj = app.create({
    name: value,
})

销毁物体:

obj.destroy();

创建物体示例代码:

var app = new THING.App(); // 3D场景初始化
​
app.background = '#F0FFFF'; //设置背景颜色//创建物体(即货车)
var obj = app.create({
    type: "Thing",  //模型类型
    name: "truck",  //模型名称
    position: [0, 0, 0], 
    url: "models/truck/", //模型的相对路径
    complete: function() {
        console.log("truck created!"); //创建完成后日志窗口显示返回信息
    }
});
​
app.camera.position = [-15, 5, -20] //设置摄像机位置来调整预览视角//运行项目后,在预览窗口,可以展示出创建的物体

这里,需要说明的是:我们通过最后一行代码设置摄像机的位置,来调整预览视角。如果不添加此行代码,则默认状态下摄像机的位置跟所创建的物体一致,也就是说摄像机的镜头贴在物体上,那么,此时我们可以将鼠标滚轮回滚,进行缩放调节,这样就可以在预览窗口显示出所加载的模型了

销毁物体示例代码:

// 创建按钮,点击按钮可销毁物体
var button = new THING.widget.Button('销毁物体', function() {
       obj.destroy();
});

在上面的代码的基础上,将下面的代码输入项目文件中,即可为场景添加销毁物体的按钮。点击按钮,可以销毁物体

image.png