Thingjs 开门示例:以3D机柜为例 演示thingjs如何开门

动画的播放和暂停是3D场景中常用的功能,本文以机柜为例为您讲解在thingjs中使用playAnimation(params)接口控制机柜门开启和关闭,同理,房门开关、电器运行停止等3D模型的动画启停均可以使用此方法。

用到的Thingjs API:

播放动画

playAnimation(params)

参数

 

NameTypeDescription
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 应用。

posted @ 2018-10-15 15:18  ThingJS_森友鹿锘  阅读(2571)  评论(0编辑  收藏  举报