| 
       ThingJS中如何查询并控制3D场景中的物体?       使用query方法就可以查询到3D场景中的物体,并且对该物体进行控制,比如控制物体沿某一路径移动等等。但是,最好是在场景创建的时候就为每一个物体添加诸如id、name等属性,方便在ThingJS中查询到该物体,并且对该物体进行控制。       具体使用方法如下: - // 查询 id 为 001 的对象集合
 - app.query('#001');
 - // 查询名称为 car01 的对象集合
 - app.query('car01');
 - // 查询类型为 Thing 的对象集合
 - app.query('.Thing');
 - // 查询自定义属性 [prop=value] 的对象集合
 - app.query('["userData/power"=60]');
 - // 根据正则表达式匹配 name 中包含 'car' 的子物体
 - app.query(/car/);
 - // 上行代码等同于
 - // var reg = new RegExp('car');
 - // var cars=app.query(reg);
 - // 注意:
 - // 通过 query 查询的结果都是满足条件的对象集合(Selector)
 - // 如需访问单个对象,可通过下标获取,如
 - var obj=app.query('#001')[0];
 - // 也可通过循环遍历对象集合
 - var objs=app.query('.Thing');
 - objs.forEach(function(obj){
 -   console.log(obj.name)
 - })
 
  复制代码
 
 查询出来的物体沿某一路径移动: - app.on('load', function () {
 - 	// 通过 name 查询到场景中名字叫做car01的车的集合,并且选择控制集合中的第一个元素
 - 	var car = app.query('car01')[0];
 - 	new THING.widget.Button('方形路径', function () {
 - 		// 世界坐标系下坐标点构成的数组 关于坐标的获取 可利用「工具」——>「拾取场景坐标」
 - 		var path = [[0, 0, 0], [20, 0, 0], [20, 0, 10], [0, 0, 10], [0, 0, 0]];
 - 		car.movePath({
 - 			orientToPath: true, // 物体移动时沿向路径方向
 - 			path: path, // 路径坐标点数组
 - 			time: 5 * 1000, // 路径总时间 毫秒
 - 			delayTime: 1000, // 延时 1s 执行
 - 			lerpType: null, // 插值类型(默认为线性插值)此处设置为不插值
 - 			// 仅当无循环时 有回调函数
 - 			complete: function (ev) {
 - 				console.log(ev.object.name + "移动结束")
 - 			}
 - 		});
 - 	})
 
  复制代码
 
 
 
  |   
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |