使用过MONO编辑器的朋友都应该了解MONO中支持一些动画的设置,比如开门,开窗,弹出设备,旋转场景,镜头巡航等。但如何将这些动画应用到自己的场景中呢?比如我们在编辑器中给机柜定义了动画,怎样让做好的机柜模型加载到自己的场景中并能播放动画呢?别急,我们来举个例子给大家讲解一下。
首先我们使用编辑器建一个机柜的模型,这里就不给大家演示了,MONO编辑器的平台上提供了多种机柜的模型,我们直接下载一个模型导出一份json可以了,这里我们直接拿了MONO中公开的“42U标准机柜”的数据并导出了一份数据格式保存在本地。
接着可以在自己的场景中将这份数据导入进来,代码如下:
1 |
mono.Toolkits.loadTemplateUrl(network3d.getDataBox(), './equipment.json' );
|
在这个例子中我们通过在地板上指定几个点,点击确认后动态从文件中加载模型数据。加载数据后我们加上了机柜从地板上慢慢升级的动画。这个动画在mono中已经封装了,我们只需调用下面的代码即可:
2 |
mono.AniUtil.playAnimation(hostNode, 'scale:top:1:2000:500' );
|
导入的模板中保存了动画的属性,但是双击后并不能播放模板中的动画。是因为这些动作是加在network上的,我们需要在自己的工程中加上双击播放动画的代码:
1 |
network3d.getRootView().addEventListener( 'dblclick' , handleDoubleClick);
|
3 |
var handleDoubleClick = function (e){
|
4 |
var firstClickObject=Utils._findFirstObjectByMouse(network3d,e);
|
5 |
if (firstClickObject.element) {
|
6 |
playAnimation(firstClickObject.element);
|
加上这段就可以播放双击对象的动画了。
这里我们让开门和弹出设备的动画连续播放,也就是当开门动画播放完毕后,我们再回调一下弹出设备的动画,代码如下:
1 |
var door = findDatafromChildren(object,101);
|
2 |
var server = findDatafromChildren(object,102);
|
3 |
var played = object._played || false ;
|
4 |
console.log(object.__status ,object._played); |
6 |
if (object.__status && object.__status === "playing" ) return ;
|
8 |
var animations = [{method:playEquipment,args:[door]},
|
9 |
{method:playEquipment,args:[server]}];
|
11 |
function playEquipment(equip, callback){
|
12 |
mono.AniUtil.playAnimation(equip, equip.getClient( 'animation' ), 1000, 0, null , function (){
|
这样导入模型文件的动画就做完了,这个小demo在MONO的1.9版本中已经提供了,感兴趣的朋友可以到twaver的网站上申请mono最新的下载包。
最后附上一张Demo的截图,其中绿色地块表示正准备创建机柜的区域:
分享到:
相关推荐
8. **Twaver集成**:标签中的"Twaver"可能是指Mono Design与Twaver的集成。Twaver是一种可视化工具,常用于系统建模和数据分析,这可能意味着Mono Design可以结合Twaver的特性,进行更深入的数据驱动设计。 9. **...
Mono Design V2.1.3 是一款由Twaver公司开发的专业Web端设计工具,专为构建3D场景而设计。这款强大的工具集成了编辑器功能,使得用户无需深厚的编程基础,也能快速创建出逼真的3D机房模型。同时,对于有高级需求或者...
1. **安装与配置**:介绍如何在Flex项目中集成Twaver库,包括下载库文件、设置项目依赖以及配置编译环境。 2. **基本元素**:讲解Twaver中的基础图形元素,如节点(Node)、边(Edge)、图层(Layer)和图表(Chart),以及...
TWaver Flex中的告警功能是该组件的一个重要组成部分,文档中讲解了告警的使用,包括告警级别、状态与统计、以及告警的呈现方式。 ### 版权声明和使用许可 文档中也明确了版权信息和版权声明,强调了文档是...
可能是用于展示如何在twaver.js中处理警报或事件管理的实例。通过这个文件,我们可以学习到如何利用twaver.js来设计和实现报警系统的图形界面,包括节点的动态更新、状态显示、事件触发等。 **综合知识点:** 1. *...
《Twaver Flex中文用户使用手册》是一份专为使用Twaver Flex产品的用户准备的详尽指南,旨在帮助用户深入理解和高效应用这款强大的图形化建模工具。Twaver Flex是一款基于Adobe Flex技术的可视化开发框架,它提供了...
通过这个"TWaver的3d图形组件库,小demo",开发者不仅可以学习到如何使用TWaver库创建3D图形,还能了解到现代Web开发中的3D数据可视化技术和最佳实践。通过研究提供的源代码,开发者可以提升自己在WebGL和JavaScript...
通过学习和研究这些代码,开发者可以快速掌握TWaver的用法,将其应用到实际项目中。 综上,TWaver HTML5开发指南代码是开发人员构建高效、互动的拓扑工具和机房展示应用的重要资源,它简化了HTML5环境下的可视化...
标题中的"twaver-html5-5.9.0-api_html5_-5.9.0-api_twaver_"似乎是指一个基于HTML5的Twaver版本5.9.0的应用程序接口(API)文档。Twaver是一个强大的数据可视化和网络建模工具,广泛应用于网络拓扑、流程图、组织...
此外,TWaver Flex还预定义了丰富的业务对象,如告警(`twaver.IAlarm`)和告警容器(`twaver.AlarmBox`),图层(`twaver.ILayer`)和图层管理容器(`twaver.LayerBox`),以及拓扑网元(`twaver.IElement`)和拓扑...
4. **数据绑定**:Twaver支持与各种数据源(如数据库、CSV文件)进行绑定,动态更新图表内容,实时反映数据变化。 5. **高性能渲染**:优化的图形渲染引擎确保在大规模数据量下仍能保持流畅的性能。 **三、新功能...
TWaver Documents中文文档
【标题】"Twaver Web实例源码"是一个关于使用Twaver与ExtJS结合的Web应用程序开发的学习资源。Twaver是一款强大的图形化建模和可视化工具,常用于数据可视化、网络拓扑图、流程图等场景。ExtJS则是一个流行的...
基础章节主要介绍了TWaver HTML5的设计模式与结构,这是开发者理解如何组织和使用TWaver HTML5组件的基础。 TWaver HTML5的数据模型章节详细描述了该组件套件的数据元素以及数据管理容器的机制,让开发者能够更好地...
其次,TWaver与Three.js的关系值得一提。Three.js是一个广泛使用的JavaScript库,专门用于在浏览器中处理3D图形,基于WebGL标准。TWaver在底层使用了Three.js,但为其提供了更高级别的API和封装,降低了开发者对...
【描述】描述中的“TWaver-java-4.1最新 官网试用版jar包及Demo”表明这是一个Java开发的工具包,主要功能在于提供数据可视化的解决方案。用户可以通过试用版的jar包进行初步体验,同时附带的Demo则能够帮助开发者更...
- **动画效果**:如何利用Twaver的动画功能实现流畅的视觉过渡。 - **自定义样式**:如何通过CSS或直接设置属性来改变图表的样式和主题。 - **性能优化**:在处理大量数据或复杂图形时,如何优化性能和响应速度。 ...
Flex与Twaver是两个在IT行业中用于图形化界面开发和数据可视化的重要工具。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA),尤其是在Web上创建交互式、动态的用户界面。而Twaver...
Twaver是一款强大的图形化开发工具,专为创建复杂的网络拓扑图、流程图、组织结构图等而设计,广泛应用于电信系统、网络安全和物联网解决方案中。本教程将深入讲解如何利用Twaver进行高效的数据可视化。 首先,我们...