動畫的播放和暫停是3D場景中常用的功能,本文以機櫃為例為您講解在thingjs中使用playAnimation(params)接口控制機櫃門開啟和關閉,同理,房門開關、電器運作停止等3D模型的動畫啟停均可以使用此方法。
用到的Thingjs API:
播放動畫
playAnimation(params)
參數
Name | Type | Description |
---|---|---|
| String | 動畫名 |
| Array | 幀播放比例範圍 |
| Number | 播放速度 |
| 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 應用。