HarmonyOS应用开发实战:猫猫大作战-EventHub 事件总线 前言EventHub是 HarmonyOS 的事件总线机制用于组件或模块之间的松耦合通信。在「猫猫大作战」中EventHub 用于音效播放、得分变更、游戏状态切换等跨组件通知。一、EventHub 基础import{EventHub}fromkit.ArkUI;// 创建 EventHubconsteventHubnewEventHub();// 订阅事件eventHub.on(scoreChanged,(score:number){console.info(得分更新:${score});// 更新 UI 等});// 发布事件eventHub.emit(scoreChanged,2450);二、游戏中的应用// 音效管理模块 — 订阅事件classSFXService{constructor(hub:EventHub){hub.on(playMerge,()this.play(merge));hub.on(playLevelUp,()this.play(level_up));hub.on(playGameOver,()this.play(game_over));hub.on(playButton,()this.play(button));}privateplay(name:string):void{console.info(播放音效:${name});}}// 游戏引擎 — 发布事件classGameEngine{privatehub:EventHub;constructor(hub:EventHub){this.hubhub;}onMerge():void{this.hub.emit(playMerge);}onGameOver():void{this.hub.emit(playGameOver);}}三、EventHub vs State特性EventHubState通信范围任意模块组件树耦合度低松耦合中父子依赖数据流单向事件双向绑定调试较难追踪易追踪适用场景跨模块通知UI 状态同步四、最佳实践事件命名规范playMerge、stateChanged动词名词订阅在初始化aboutToAppear时订阅取消订阅hub.off(eventName)防内存泄漏不传递复杂对象只传递必要的数据参数五、事件列表事件名数据触发时机playMerge无合并时playLevelUp等级升级时playGameOver得分结束时scoreChanged得分得分变化stateChanged状态状态切换总结EventHub 实现跨模块的松耦合事件通信适合音效播放等全局通知。核心要点hub.on()订阅、hub.emit()发布、 注意取消订阅防泄漏。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源EventHub 官方文档第 107 篇Extend第 109 篇startAbility第 110 篇startByType

相关新闻

最新新闻

STM32CubeMX FOC电机控制:RCC时钟与GPIO配置实战指南

STM32CubeMX FOC电机控制:RCC时钟与GPIO配置实战指南

1. 从零开始的FOC项目:为什么配置是第一步 如果你正准备用STM32搞一个FOC电机控制项目,手上拿着CUBEMX,脑子里可能已经充满了SVPWM、Clarke/Park变换、观测器这些高级算法。但我的经验是,无论算法多精妙,第一步的硬件基…

2026/7/30 5:35:18
2026年AI原生一体化CRM选型清单:5款产品横评(排名不分先后)

2026年AI原生一体化CRM选型清单:5款产品横评(排名不分先后)

2026年AI原生一体化CRM选型清单:5款产品横评(排名不分先后)当「AI CRM」成为2026年企业软件最热的词,市面上的产品几乎都给自己贴上了AI标签。但同样是「AI CRM」,有的AI是后来装上去的插件,有的AI从底层架…

2026/7/30 5:35:18
SIP协议详解:从核心原理到GB28181实战,构建实时通信基石

SIP协议详解:从核心原理到GB28181实战,构建实时通信基石

1. 项目概述:从“打电话”到“万物互联”的会话基石如果你用过微信语音、打过网络电话,或者接触过任何需要建立实时音视频连接的系统,那么你很可能已经在不知不觉中使用了SIP协议。SIP,全称会话初始协议,是互联网工程任…

2026/7/30 5:35:18
Spring AOP环绕通知:从动态代理到实战避坑指南

Spring AOP环绕通知:从动态代理到实战避坑指南

1. 从“拦截”到“编织”:为什么环绕通知是AOP的灵魂如果你用过Spring,那你肯定对Transactional、Cacheable这些注解不陌生。它们就像魔法一样,你加个注解,方法执行前后的事务开启提交、缓存查询写入就自动完成了。这背后的核心魔…

2026/7/30 5:35:18
从汇编到波形:DAC0832数模转换原理与嵌入式信号生成实战

从汇编到波形:DAC0832数模转换原理与嵌入式信号生成实战

1. 项目概述:从数字到模拟的桥梁搭建在嵌入式系统或者单片机应用里,我们常常需要让芯片“开口说话”,不是通过串口发送字符,而是产生一个实实在在的、可以被示波器观测、被扬声器播放、被电机驱动的模拟电压信号。比如&#xff0c…

2026/7/30 5:35:18
【系列:CCG Crypto CrackMe 逆向全解析 · 第 1 篇】

【系列:CCG Crypto CrackMe 逆向全解析 · 第 1 篇】

导读: 2001 年,CCG(China Cracking Group)的 Blowfish 放出了一个 CrackMe,声称"本题多解"。这个系列将完整记录破解它的全过程——从最基础的字节解析,到自定义壳的算法复原,到最后跑…

2026/7/30 5:30:18

月新闻