【乐吾乐大屏可视化组态编辑器】事件交互-场景交互

场景交互

在线使用:https://v.le5le.com/

乐吾乐大屏可视化可以实现大屏页面与内嵌2d/3d场景相互通信,底层原理是利用了iframe通过postMessage发送消息。

下面以2d场景为例,实现步骤如下:

1. 首先配置场景2(被嵌入页面)的内容。

① 一个向外发送消息的按钮。

选中按钮,右侧选择"交互"面板,配置点击事件。动作类型选择"向父窗口发送消息",消息名可以自己定(不要过于简单,以免和内置的消息冲突),这里叫做"two-message"。

② 一个监听父窗口消息的正方形图元。

点击正方形图元,可以给他配置一个动画效果,方便我们观察结果。

给这个正方形添加监听消息的交互事件,监听"start"/"stop"消息,分别控制当前正方形图元播放/暂停动画。

③ 点击保存,生成图纸id。

2. 配置场景1(外层父页面)的内容。

① 创建场景2图元。

从控件-面板中拖入一个网页图元,在数据中配置网页地址为场景2的预览地址。为了方便定位,可以给它配置一个分组为"场景2"。

② 一个用于向2d场景发送消息的船型开关。

从控件中拖入一个船型开关,配置点击交互事件,事件触发条件分别监听船型开关的开/关状态,向场景2分别发送"start"/"stop"的消息。

③ 一个接收场景2消息的图元。

选中一个文本图元,添加监听消息的交互事件,消息名称填写上面确定的消息名,这里是"two-message"。执行动作填写弹出一个alert弹窗。

3. 保存后,点击运行查看运行结果。

点击船型开关可以控制场景2中正方形的闪烁/停止。点击场景2中的按钮,可以看到页面弹出alert弹窗。

项目地址

场景1

场景2

通过上面的操作我们可以知道,消息的发送方只负责发送消息,具体执行的内容都是消息的接收方自己接收消息后去执行的。大屏与3d场景的交互操作大同小异,官方方案中有相关案例。

3D可视化-智慧楼宇-案例演示

相关推荐
Jet_closer_burning2 分钟前
css grid布局属性详解
前端·css·html
脑子不好真君12 分钟前
MongoDB的Map-Reduce操作与聚合管道操作的两个实例相互转换
数据库·mongodb
安冬的码畜日常17 分钟前
【CSS in Depth 2 精译_026】4.4 Flexbox 元素对齐、间距等细节处理(上)
前端·css·css3·html5·flexbox·css布局
本郡主是喵18 分钟前
由于安装nvm 引发的vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
前端·javascript·vue.js
码农鑫哥的日常19 分钟前
redis群集的三种模式
数据库·redis·mybatis
京城五22 分钟前
text-overflow:ellipsis 不生效的情况解决办法
前端·css·html
不染_是非23 分钟前
Django学习实战篇三(适合略有基础的新手小白学习)(从0开发项目)
数据库·后端·学习·django·web
前进别停留1 小时前
javaWeb三剑客:html,css
前端·css·html
QX_Java_Learner1 小时前
【Redis】缓存和数据库一致性问题及解决方案
数据库·redis·缓存
请叫我江同学呀1 小时前
关于elasticsearch的terms查询超过最大terms数
数据库·elasticsearch·搜索引擎·es·非关系型数据库