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

创建 App 对象

  1. const app = new Thing.App();
  2. // 可传入 app 对象的初始属性 options = { key: value }

加载场景

  1. const app = new Thing.App({
  2. // 场景源地址
  3. url: 'https://www.thingjs.com/static/models/factory',
  4. // 背景色
  5. background: '#000000',
  6. /*
  7. // 天空盒子 BlueSky, MilkyWay, Night, CloudySky, White, Dark
  8. skybox: 'White',
  9. //
  10. env: 'Seaside',
  11. // 完成回调函数
  12. complete: function (ev) {
  13. console.log("App complete:", ev);
  14. }
  15. */
  16. });
  17. // 创建提示
  18. initThingJsTip(`使用 App 创建的三维空间称之为“场景”。
  19. 有两种方法可以将客户端保存的园区添加到园区资源面板:<br>
  20. 1. 园区保存后,会自动同步到网页同一账号下;<br>
  21. 2. 园区保存后导出tjs文件,在园区资源面板上传。<br>`);

加载地图(🔲TODO)

  1. var app = new THING.App(); // 3D场景初始化
  2. app.background = [0, 0, 0]; // 设置场景背景为黑色
  3. //引用地图组件脚本
  4. THING.Utils.dynamicLoad(['https://www.thingjs.com/uearth/uearth.min.js'], function () {
  5. app.create({
  6. type: 'Map',
  7. // 把 myMapDirectory 替换为所需加载的地图路径即可。
  8. url: 'myMapDirectory',
  9. complete: function (event) {
  10. console.log(event.object.userLayers.length);//日志窗口显示地图层级数量
  11. }
  12. });
  13. });

常用属性和方法

url String 场景资源路径:模型或园区时可使用相对或绝对地址;地图只能使用绝对路径;
background String 背景:颜色或图片路径
skybox String 天空盒:预设有 BlueSky, MilkyWay, Night, CloudySky, White, Dark
complete function 创建完成回调
create() function 创建物体,如模型或基本形状
query() function 查询物体,通过 id, name, type, 自定义属性等
camera() function 获取摄像机实例
on()/off() function 全局事件注册/注销