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 應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM