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

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

动画的播放和暂停是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 应用。

目录
相关文章
|
10月前
|
缓存 图形学
游戏通用解决方案之红点设计
游戏通用解决方案之红点设计
327 0
|
1月前
|
C# 图形学
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
69 0
|
1月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机动态拆装及引擎开关控制案例(附源码和演示视频 超详细)
【Unity 3D】VR飞机动态拆装及引擎开关控制案例(附源码和演示视频 超详细)
55 0
|
7月前
|
存储 智能硬件
使用SwiftUI搭建一个智能家居的开关灯页面,我是有多无聊~
使用SwiftUI搭建一个智能家居的开关灯页面,我是有多无聊~
45 0
|
9月前
|
算法 编译器
开源:智能宠物弹射喂食器连载贴之步进电机控制(二)
开源:智能宠物弹射喂食器连载贴之步进电机控制(二)
170 0
|
Java 计算机视觉
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏04图像资源的透明处理
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏04图像资源的透明处理
105 0
|
移动开发 前端开发
【H5 音乐播放实例】第五节 音轨制作
【H5 音乐播放实例】第五节 音轨制作
108 0
|
存储 编解码 关系型数据库
案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)
国产大型机床中Qt上位机激光焊接系统软件案例分享,介绍了Qt在国产化机床上的各种应用案例,并附上案例的具体功能界面供大家学习
案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)
|
缓存 运维 前端开发
从零开始实现放置游戏(十四)——实现战斗挂机(5)地图移动和聊天
上一节添加了websocket组件,实现了前后端通信。后面我们只需要根据游戏的业务逻辑,逐步实现各种功能即可。   另外,在实现具体业务逻辑时,发现上一章设计的消息对象有些不合理,由于粒度过粗,导致可以复用的部分很少,且这里的通信模型并不是一个请求对应一个响应的模式。比如:玩家a从地图A移动到地图B。此时,a发送移动请求。服务器返回B地图的信息和在线列表给A。同时还要发送最新的在线列表给地图B的其他玩家b,c,d....这里其他玩家并没有发送请求,但收到了响应消息。因此,将消息类型重构成由客户端发出的消息和由服务端发出的消息两类,分别以"3000"和"6000"开头。
从零开始实现放置游戏(十四)——实现战斗挂机(5)地图移动和聊天
|
前端开发 定位技术 开发者
【前端搞地图】如何设计一张让用户过目不忘的地图-2
【前端搞地图】如何设计一张让用户过目不忘的地图-2
【前端搞地图】如何设计一张让用户过目不忘的地图-2