<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LEO11110的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LEO11110</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LEO11110]]></copyright><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-Form Kit 动态卡片]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163302986</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163302986</guid><author>LEO11110</author><pubDate>Wed, 29 Jul 2026 13:45:11 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS中Form Kit（卡片服务）在游戏「猫猫大作战」中的应用实践。主要内容包括：通过form_config.json配置卡片基本信息（尺寸、更新频率等）；使用formProvider.updateForm实现动态数据更新；卡片生命周期的关键回调处理（创建、更新、删除等）。最佳实践建议定时更新、内容精简、合理设置更新间隔，并正确注册卡片Ability。Form Kit可有效实现桌面卡片展示游戏核心数据（如高分和签到状态），通过配置、更新和定时机制提升用户体验。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-ArrayBuffer 二进制缓冲区]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163302625</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163302625</guid><author>LEO11110</author><pubDate>Wed, 29 Jul 2026 13:33:29 +0800</pubDate><description><![CDATA[本文介绍了JavaScript/ArkTS中的ArrayBuffer二进制数据缓冲区及其应用。ArrayBuffer是固定长度的连续内存块，适合存储二进制数据，常用于文件读写、网络传输和高效数据存储。文章讲解了ArrayBuffer的基础用法、与TypedArray视图的配合（如Int8Array、Float32Array等），以及在文件I/O中的实际应用（通过fileIo模块读写）。关键点包括：创建固定大小缓冲区、使用TypedArray进行读写操作、处理文件I/O时的字节序注意事项。ArrayBuffe]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-merge-detect 合并检测算法]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163302141</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163302141</guid><author>LEO11110</author><pubDate>Wed, 29 Jul 2026 13:15:06 +0800</pubDate><description><![CDATA[文章摘要：本文介绍了“猫猫大作战”游戏中的合并检测算法实现。核心逻辑包括：1）全盘扫描棋盘检测同级相邻猫咪；2）四方向邻居查找；3）批量合并时的去重处理与递归检测；4）触发合并的三种时机（着陆后、升级后、新投放后）。算法采用局部检测与全盘扫描结合的方式，通过递归实现链式合并反应，同时控制最大递归深度防止性能问题。文章附带TypeScript代码片段，展示了合并检测、邻居查找和批量合并的具体实现。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-wrapBuilder 的使用]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163301501</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163301501</guid><author>LEO11110</author><pubDate>Wed, 29 Jul 2026 12:48:56 +0800</pubDate><description><![CDATA[本文介绍了 ArkUI 中的 wrapBuilder 工具，它能够将 @Builder 装饰的函数包装为可传递对象，适用于弹窗 API 等动态 UI 场景。文章详细讲解了其基本用法、带参数包装的实现方式，并以游戏结束弹窗为例展示了实战应用。最后对比了 wrapBuilder 与 @BuilderParam 的差异，前者适合变量传递，后者用于组件属性。该工具在「猫猫大作战」项目中解决了弹窗内容动态传递的类型约束问题，是 ArkUI 开发中的实用技巧。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-setInterception 的 willShow/willPop/didShow 三种拦截回调以及实际项目]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163253167</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163253167</guid><author>LEO11110</author><pubDate>Tue, 28 Jul 2026 00:32:00 +0800</pubDate><description><![CDATA[摘要： 本文介绍了HarmonyOS Navigation组件中的setInterception路由拦截机制，通过willShow（页面显示前）、willPop（返回前）、didShow（显示后）三种回调实现业务逻辑注入。以「猫猫大作战」为例，展示了登录校验（未登录跳转）、游戏状态保存及埋点统计等实际应用场景，并提醒常见陷阱（如context.name只读、多Navigation共享问题）。该机制为页面跳转提供了灵活的拦截能力，适用于权限控制、数据统计等需求。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-样式抽成可复用类，一处定义、多处复用，还能针对不同状态（正常/按下/禁用）应用不同样式]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163253162</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163253162</guid><author>LEO11110</author><pubDate>Tue, 28 Jul 2026 00:31:23 +0800</pubDate><description><![CDATA[本文介绍了在HarmonyOS开发中，如何使用AttributeModifier属性修饰器优化按钮样式的复用与管理。通过将样式抽离为可复用的类，开发者可以解决代码重复、修改繁琐的问题，并支持多状态（正常/按下/禁用）样式切换。文章以「猫猫大作战」游戏按钮为例，展示了定义样式类、应用样式以及处理不同交互状态的完整方案，帮助开发者提升代码复用性与维护性。AttributeModifier相比@Styles/@Extend更适合需要动态状态管理的场景。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-概率生成算法]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163253155</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163253155</guid><author>LEO11110</author><pubDate>Tue, 28 Jul 2026 00:30:23 +0800</pubDate><description><![CDATA[本文介绍了游戏开发中基于Math.random()的概率生成算法，重点讲解了加权随机实现方法。文章以"猫猫大作战"游戏为例，展示了如何通过条件判断实现不同等级猫咪的概率生成（小型50%、中型30%、大型20%），并提供了随机列选择的简单实现。核心要点包括：利用Math.random()生成均匀分布随机数、通过区间划分实现加权随机采样、以及随机列选择的数学处理方法。文章最后预告下一篇将探讨重力下落算法的实现。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-interface 的使用]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163253150</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163253150</guid><author>LEO11110</author><pubDate>Tue, 28 Jul 2026 00:29:45 +0800</pubDate><description><![CDATA[本文介绍了TypeScript/ArkTS中interface的使用，以游戏「猫猫大作战」中的Cat和ComboInfo接口为例。Cat接口定义了猫咪对象的5个属性，如唯一标识、等级、坐标等；ComboInfo接口则定义了连击信息的3个属性。通过接口可以确保数据结构的一致性和类型安全，同时实现代码的文档化。文章强调接口作为类型契约的重要性，并为下一篇关于严格模式下类型保护的讨论做了铺垫。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-引擎类的职责设计、与 UI 层的解耦方式]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163253146</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163253146</guid><author>LEO11110</author><pubDate>Tue, 28 Jul 2026 00:29:08 +0800</pubDate><description><![CDATA[本文以「猫猫大作战」游戏为例，探讨了游戏引擎类 GameEngine 的设计原则及其与 UI 层的协作方式。文章指出引擎类应封装核心游戏逻辑（如棋盘管理、猫咪生成、合并检测和计分），而 UI 层只负责展示数据和响应用户交互。通过清晰的职责划分（引擎管理数据，UI 通过 getter 获取只读数据）实现了业务逻辑与界面的解耦。文章还预告下篇将深入讲解棋盘二维数组的实现。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-`Column` 与 `Row` 的主轴/交叉轴双轴对齐体系]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163252838</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163252838</guid><author>LEO11110</author><pubDate>Mon, 27 Jul 2026 23:55:06 +0800</pubDate><description><![CDATA[摘要 本文详细解析了 Column 与 Row 布局中的主轴/交叉轴双轴对齐体系，通过「猫猫大作战」主菜单的两种对齐场景（整体居中与规则左对齐）展开说明。关键点包括： 轴系区分：Column 主轴为垂直方向（justifyContent 控制），交叉轴为水平方向（alignItems 控制）；Row 则相反。 对齐枚举：HorizontalAlign（左/中/右）用于 Column 水平对齐，VerticalAlign（顶/中/底）用于 Row 垂直对齐；FlexAlign 六种模式（如 SpaceBetw]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-onHover 触发时机、HoverType 类型判定、与 onTouch 的差异、TV/PC 场景应用四]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163252827</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163252827</guid><author>LEO11110</author><pubDate>Mon, 27 Jul 2026 23:54:16 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS中onHover事件的四大要点：1）触发时机（组件边界进入/离开）；2）HoverType类型判定（布尔值或事件对象）；3）与onTouch的差异（悬停vs接触）；4）TV/PC场景应用（遥控器焦点/鼠标悬停）。通过「猫猫大作战」底部按钮悬停高亮案例，展示了如何为跨设备应用实现统一交互，手机端自动忽略onHover而TV/PC端提供视觉反馈。文章对比了鼠标、遥控器和手指三种输入设备的触发差异，并给出ArkTS实现代码与版本兼容性提示。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-IDataSource 数据源接口、LazyForEach 按需调用机制、DataChangeListen]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163252824</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163252824</guid><author>LEO11110</author><pubDate>Mon, 27 Jul 2026 23:53:38 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS中LazyForEach组件的核心机制与最佳实践。通过实现IDataSource接口，LazyForEach能按需加载可视区及缓存范围内的数据，避免全量遍历的性能问题。关键点包括： IDataSource需实现四个基础方法（总数统计、按索引取数据、注册/注销监听器） 数据变更时通过监听器通知更新 与@Reusable组件复用池配合，实现"数据+组件"双重优化 相比ForEach，LazyForEach特别适合大数据量（如分页查询、数据库懒加载）场景 典型应用场景为长列表渲染，通过]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-@State 数组项替换的浅观察陷阱、@Observed 数组深观察机制、ForEach 密钥与项替换的协]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163252820</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163252820</guid><author>LEO11110</author><pubDate>Mon, 27 Jul 2026 23:53:01 +0800</pubDate><description><![CDATA[摘要 本文探讨了在ArkUI中替换数组项的优化方案。通过「猫猫大作战」游戏案例，分析了@State数组浅观察的局限性——无法监听项替换操作(cats[0]=newCat)。提出基于@Observed类+ForEach密钥的双重机制解决方案：当数组项为@Observed实例时，1）密钥变化触发项销毁/新建；2）密钥相同但内部属性变化触发深观察更新。对比了整体赋值与项级替换的性能差异，最终实现仅重渲染被替换项的高效更新策略。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用开发实战：猫猫大作战-HUD 拆成独立子组件、用 `@Prop` 接收父组件得分/时间为锚点，把 @Prop 声明与传递、单向只]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163252817</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163252817</guid><author>LEO11110</author><pubDate>Mon, 27 Jul 2026 23:52:25 +0800</pubDate><description><![CDATA[本文介绍了如何将游戏HUD拆分为独立子组件，并使用@Prop实现父子组件间的单向数据传递。通过「猫猫大作战」案例，详细讲解了@Prop的声明与传递方式、单向只读特性、浅拷贝机制以及与@Link的对比。文章强调子组件应通过事件回调让父组件修改数据，保持单向数据流，并提供了完整代码示例展示HUD组件的拆分与重构过程。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用《玄象》开发实战：GpsFengshuiPage GPS 风水：@ohos.geoLocationManager 定位与权限申请]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163221861</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163221861</guid><author>LEO11110</author><pubDate>Sun, 26 Jul 2026 23:17:28 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS应用接入GPS定位服务的实现方法，以玄象项目的风水分析功能为例。主要内容包括： 使用geoLocationManager API获取用户位置信息，包括经度和纬度数据 动态权限申请流程，需要获取ohos.permission.LOCATION和近似位置权限 页面设计结构分析，包含地图区域、定位信息显示、分析按钮和结果展示 实现GPS风水分析功能的完整流程 文章提供了定位API调用代码示例和权限申请方法，帮助开发者掌握在HarmonyOS应用中集成位置服务的关键技术点。通过这套方法，]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用《玄象》开发实战：神煞查法：天乙贵人 / 文昌 / 桃花查表算法封装]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163220400</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163220400</guid><author>LEO11110</author><pubDate>Sun, 26 Jul 2026 20:48:33 +0800</pubDate><description><![CDATA[本文介绍了玄象项目中八字命理神煞查法的实现过程。文章首先解释了神煞作为八字命理中"吉凶标记"的概念，重点讲解了采用查表算法根据日干/日支查找天乙贵人、文昌贵人等常见神煞的方法。 主要内容包括： 神煞数据表设计，展示了天乙贵人和文昌贵人的数据结构 查表算法实现，以天乙贵人查询为例说明核心查询逻辑 UI展示方案，演示如何在界面中呈现神煞列表 完整数据流分析，从日干输入到UI展示的全流程 该项目通过建立日干与神煞的映射关系表，实现了传统命理神煞的数字化查询功能。文章指出掌握这套查表算法后，开发者能够在Harmon]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用《玄象》开发实战：装卦（世应/六亲/六神）算法的 ArkTS 实现]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163220379</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163220379</guid><author>LEO11110</author><pubDate>Sun, 26 Jul 2026 20:46:47 +0800</pubDate><description><![CDATA[《HarmonyOS易学占卜应用开发：装卦算法详解》摘要 本文深入解析传统周易占卜中的装卦算法在HarmonyOS应用中的实现。通过ArkTS语言构建的ZhuangGuaInfo数据结构，完整实现了世应爻定位、六亲排布和六神赋值三大核心功能： 世应定位采用卦名映射规则，应爻固定为世爻对宫位置 六亲排布基于五行生克关系，通过LIU_QIN_ORDER字典实现自动推导 六神赋值依据日辰天干循环排列青龙等六神 文章详细阐述了装卦算法的实现流程、数据结构设计和文化背景知识，并提供了测试用例和实际应用场景。该算法已成]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用《玄象》开发实战：Grid 四象（青龙/白虎/朱雀/玄武）分组展示]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163220342</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163220342</guid><author>LEO11110</author><pubDate>Sun, 26 Jul 2026 20:43:48 +0800</pubDate><description><![CDATA[玄象项目星宿列表页最核心的交互是"四象切换"——用户点击底部「苍龙/朱雀/白虎/玄武」Tab，列表内容自动切换为对应四象的 7 个星宿。这一功能通过状态变量 +数据过滤实现。本篇将深入剖析玄象项目四象分组展示的实现：从四象数据结构、底部 Tab 交互、@State状态切换、数据过滤渲染，到Canvas四象圆盘同步更新。掌握这套分组展示方法论，您就能为任何 HarmonyOS 应用打造分类切换的列表页。提示：四象（青龙、白虎、朱雀、玄武）是二十八星宿的最高层级分类。]]></description><category></category></item><item><title><![CDATA[HarmonyOS应用《玄象》开发实战：RenderingContextSettings(true) 抗锯齿对 Canvas 渲染的影响]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163220283</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163220283</guid><author>LEO11110</author><pubDate>Sun, 26 Jul 2026 20:40:35 +0800</pubDate><description><![CDATA[本文深入探讨了HarmonyOS Canvas中的抗锯齿技术及其在玄象项目启动页中的应用。通过对比分析，文章指出抗锯齿能显著提升圆弧、斜线等元素的视觉质量，但也会带来性能开销。主要内容包括： 玄象项目采用共享RenderingContextSettings实例的方式，为三个Canvas上下文统一开启抗锯齿 抗锯齿技术原理及多种实现算法的性能比较 抗锯齿对太极图圆弧、星空星点等元素的具体视觉改善效果 性能影响分析及优化建议，指出一次性渲染场景适合开启 非抗锯齿适用场景，如像素艺术、高频动画等 Canvas的其]]></description><category></category></item><item><title><![CDATA[HarmonyOS开发实战：笔友-AddPenPalPage 新增笔友表单——字段联动与必填校验]]></title><link>https://blog.youkuaiyun.com/LEO11110/article/details/163190012</link><guid>https://blog.youkuaiyun.com/LEO11110/article/details/163190012</guid><author>LEO11110</author><pubDate>Sat, 25 Jul 2026 11:56:04 +0800</pubDate><description><![CDATA[本文详细解析了xiexin应用中新增笔友功能的实现方案。该功能基于ArkUI的响应式状态管理机制，通过AddPenPalPage.ets组件实现核心交互流程，主要特点包括： 状态管理：使用@State装饰器管理邀请码、输入内容和操作状态 表单交互：实现邀请码生成、复制和发送功能，包含输入校验逻辑 UI响应：通过状态变更自动触发界面重渲染 数据持久化：使用AppStorage存储邀请记录 功能设计考虑了性能优化、错误处理和日志监控等生产环境需求，适用于笔友社交、消息卡片等场景。代码示例完整展示了组件结构、状态]]></description><category></category></item></channel></rss>