zoukankan      html  css  js  c++  java
  • 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 应用。

  • 相关阅读:
    HDU 3999 The order of a Tree (排序二叉树的先序遍历)
    如何从 100 亿 URL 中找出相同的 URL?
    Tomcat源码分析 | 一文详解生命周期机制Lifecycle
    SqlSession与SqlSessionFactory到底是什么关系?
    spring boot-jpa整合QueryDSL来简化复杂操作
    EasyExcel读写Excel
    如何将List集合中相同属性的对象合并
    @Data 注解引出的 lombok
    MySQL配置连接
    Django创建
  • 原文地址:https://www.cnblogs.com/thingjs/p/9791191.html
Copyright © 2011-2022 走看看