動畫的播放和暫停是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 應用。