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

场景交互

在线使用: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可视化-智慧楼宇-案例演示

相关推荐
Apifox1 天前
Apifox 11 月更新|AI 生成测试用例能力持续升级、JSON Body 自动补全、支持为响应组件添加描述和 Header
前端·后端·测试
木易士心1 天前
深入剖析:按下 F5 后,浏览器前端究竟发生了什么?
前端·javascript
在掘金801101 天前
vue3中使用medium-zoom
前端·vue.js
程序员小白条1 天前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
xump1 天前
如何在DevTools选中调试一个实时交互才能显示的元素样式
前端·javascript·css
折翅嘀皇虫1 天前
fastdds.type_propagation 详解
java·服务器·前端
Front_Yue1 天前
深入探究跨域请求及其解决方案
前端·javascript
wordbaby1 天前
React Native 进阶实战:基于 Server-Driven UI 的动态表单架构设计
前端·react native·react.js
抱琴_1 天前
【Vue3】我用 Vue 封装了个 ECharts Hooks,同事看了直接拿去复用
前端·vue.js
风止何安啊1 天前
JS 里的 “变量租房记”:闭包是咋把变量 “扣” 下来的?
前端·javascript·node.js