Thingjs 开门示例:以3D机柜为例 演示thingjs如何开门
动画的播放和暂停是3D场景中常用的功能,本文以机柜为例为您讲解在thingjs中使用playAnimation(params)接口控制机柜门开启和关闭,同理,房门开关、电器运行停止等3D模型的动画启停均可以使用此方法。
用到的Thingjs API:
播放动画
playAnimation(params)
参数
Name | Type | Description |
---|---|---|
name |
String |
动画名 |
frames? |
Array |
帧播放比例范围 |
speed? |
Number |
播放速度 |
loop? |
Boolean |
是否循环 |
loopType? |
String |
循环类型 |
reverse? |
Boolean |
是否倒播 |
Example
obj.playAnimation('open1'); obj.playAnimation({ name: 'open1', reverse: true, }); obj.playAnimation({ name: 'open1', loop: true }); obj.playAnimation({ name: ['open1', 'open2'], loop: true, loopType: 'pingpong', speed: 0.4 }); obj.playAnimation({ name: ['open1'], frames: [0.25, 0.5], // 动画序列从 25% 播放到 50% (时间) loop: true, loopType: 'pingpong', speed: 0.4 });
机柜示例
//加载场景代码 var app = new THING.App({ // 场景地址 "url": "http://www.thingjs.com/./uploads/wechat/oLX7p04daC2OdoZCbP6VihD_0XCo/scene/men", //背景设置 "skyBox" :"BlueSky" }); var l = null; // 初始化完成后进行场景层次管理注册操作 app.on('load', function (ev) { app.level.change(app.buildings[2]); var cabinet = app.query(/001/) cabinet.on('click',function() { if (l) l.playAnimation('close1'); this.playAnimation('open1'); l = this; }); });
ThingJS ™(www.thingjs.com):优锘科技开发的面向物联网的 3D 可视化 PaaS 开发平台.基于 WebGL 兼容各种浏览器及移动设备.零门槛、高效率、低成本开发各类 3D 应用。