这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
《Cocos 游戏开发实战》2.2 属性面板与序列化
属性面板显示哪些字段、值怎么存进 .prefab:讲清 @property 的几种写法(类型、数组、选项对象),为什么改字段名会让编辑器里绑好的引用变空、formerlySerializedAs 怎么救,serializable:false 与 editorOnly 用在哪,并打开预制体看自定义组件的序列化结果。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
属性面板显示哪些字段、值怎么存进 .prefab:讲清 @property 的几种写法(类型、数组、选项对象),为什么改字段名会让编辑器里绑好的引用变空、formerlySerializedAs 怎么救,serializable:false 与 editorOnly 用在哪,并打开预制体看自定义组件的序列化结果。
卷二最后一节,做一次收尾与交接:盘点《方块冲刺》从 demo 到产品的完整轨迹与三个贯穿全卷的关键决策,划清卷二刻意没讲的部分,交代高级卷要回答的「为什么」类问题,给出从「会用」到「会查 cc.d.ts」的实证方法与常见误区澄清,并列出继续做这款游戏的三个方向。
本节把《方块冲刺》全卷真正踩过的坑收敛成一份复盘:平台判断用字符串比较、.meta 丢失致引用断裂、动态加载路径带扩展名与大小写、常驻节点忘了移除、资源不释放、分包名与目录名不一致、三端存档差异、构建缓存带进旧代码,每条都给出症状、根因与修法,并汇总成一张速查表。
本节把《方块冲刺》真正推上线:先回看第 1.1 节定下的功能需求 FR-01 到 FR-08、非功能需求 NFR-01 到 NFR-06、用例 UC-01 到 UC-05,再把它们逐条翻译成功能、非功能、用例、三端构建、合规五个维度的可勾选检查项,给出构建配置实际取值与发布单模板,让「发布」从感觉变成清单。
CI 里的冒烟能挡住白屏,却挡不住真实用户那边偶发的崩溃与卡死。本节把线上问题变得「看得见」:用 window 事件与引擎事件捕获异常、用纯逻辑模块定义埋点结构与批量编码、用 sys.platform 采集环境上下文,并讲清三端差异、本地队列、上报时机与隐私边界。
类型对、单测过,不代表跑起来不白屏。本节把「冷启动 → 主菜单 → 跳一下」这条主路径写成 Playwright 冒烟用例,用 Cocos CLI 构建 H5 产物、用截图比对守住首屏外观,并给出 CI 里的构建命令、产物归档与失败判定——让每次提交都自动「打开游戏看一眼」。
启动耗时优化完了,怎么保证下次改动不会让它悄悄退回去?答案是把验证交给机器。本节把项目脚本分成「纯逻辑 core」与「引擎 game」两层,对前者用 vitest 跑单测,对后者用 @cocos/creator-types@3.8.8 做 tsc --noEmit 类型门禁,并给出这两道门禁在 CI 里的落点、命令、产物与失败判定。
变现的另一条腿是内购,而内购比广告更麻烦:它牵涉订单、验签、发货,还牵涉实名、防沉迷、消费限额这些合规红线。本节给出「服务端下单、平台支付、服务端验签发货」的完整时序,写一个防重复购买的 IapService,再逐条列出上架前必须过的合规清单。
激励视频是《方块冲刺》最主要的变现方式,也是体验最容易翻车的地方。本节先规划广告位,再给出「创建一次、加载、展示、onClose 结算」的完整时序,写一个带状态机与并发锁的 AdManager,保证奖励只发一次,最后处理无广告填充时的降级策略与激励弹窗预制体。
从这一章起游戏要真正调用平台 SDK。本节把登录拆成游客、微信小游戏、自有账号三种形态,给出以 wx.login 换 code、服务端换 openid 的完整时序,再把分享分成主动与被动两条路径,并强调微信不回调分享结果、所以「分享发奖」必须走服务端校验。
声音和特效都有了,为什么撞上障碍还是「软」?缺的是打击感的三要素:震动、顿帧、屏幕位移。本节给出跨端震动 API 的封装、一个可单测的顿帧时间缩放调度器、以及屏幕震动与白闪的可编译实现,并说清什么时候不该用打击感、哪些高频事件必须刻意克制,避免反馈滥用。
10.1 的 AudioManager 在桌面浏览器里跑得好好的,一上手机就哑了——浏览器的自动播放策略、微信小游戏的音频初始化、iOS 的静音开关,三端各有各的脾气。本节讲清这些限制,给出用 sys.platform 判定环境、首次交互解锁音频、以及切后台中断恢复的可编译代码。
告警要少而准:给出覆盖成功率、P95 延迟、单 run 成本、工具错误率、队列积压的规则表,讲 SLO 与错误预算(99% 成功率每月可消耗多少失败)与连续窗口门槛为何能压噪声。真跑一个极简告警求值器,喂正常与劣化两段序列,打印触发判定;末尾给从告警定位到具体 run 与工具的演练脚本。
把 13.1 的 span 数据聚合成四类指标:延迟分位(P50/P95/P99)、成功率、每 run 成本、按工具名分组的错误率,讲清平均值为何被长尾骗、直方图与摘要的差别、以及 run_id 当标签会炸掉时序库的基数问题;给出四块看板布局。真跑 200 次模拟 run,打印分位表与错误工具 Top 榜。
把一次 run 变成 span 树:agent.run 下挂 model.complete 与 tool.call,用 contextvars 传递当前 span 建立父子关系,并行工具的 span 并列成兄弟;日志走 JSON 行,带 trace_id/run_id/workspace_id。OTel 只装了 API 未装 SDK,故用标准库实现最小 span 模型并对齐 GenAI 字段名。
打通实时媒体的编码与传输链路:对比 Opus/VP8/VP9/H264/AV1 在实时场景的取舍、讲解 Opus 帧长与带内 FEC、拆解 RTP 头字段与 RTCP 反馈报文、剖析 GCC 与 TWCC 拥塞控制原理、说明 Simulcast 与 SVC 的分层策略,并附常见坑与调优建议。
系统整理网络排障工具:分层排障方法论、ping/mtr/traceroute 连通性、dig 与 DNS 解析链路、ss/netstat/lsof 端口连接、tcpdump/tshark 抓包分析、curl/wrk 应用层调试、延迟丢包定位、带宽测量,以及典型故障的排障剧本与速查命令。
用 Zig 从零实现一个可用的神经网络推理引擎:张量表示与 NCHW 内存布局、分块加 SIMD 的 GEMM 内核、激活函数与 softmax 的数值稳定实现、im2col 卷积、int8 对称量化与整数 GEMM,以及 ONNX 模型加载思路与与 Python 训练侧的对接方式。
RedisTimeSeries 时序数据实战:TS.CREATE 建序列与 RETENTION/ENCODING/CHUNK_SIZE 参数、TS.ADD/TS.MADD 写入与自动建键、TS.INCRBY/DECRBY 计数器、标签 LABELS 与过滤查询、TS.CREATERULE 降采样规则与聚合器(avg/sum/min/max/count/first/last/std.p/twa)、保留策略与压缩编码(UNCOMPRESSED/COMPRESSED/GORILLA/DOUBLE_DELTA)、TS.RANGE/TS.MRANGE/TS.MGET/TS.MREVRANGE 查询与 BUCKET 聚合、TS.QUERYINDEX 索引发现、与 Prometheus/Grafana 监控结合、容量规划与生产实践
PHP 支付集成实战:支付流程与状态机设计、Stripe Checkout/PaymentIntent 与 Webhook 验签、支付宝异步通知 RSA2 验签、微信支付 v3 平台证书与 AES-GCM 回调解密、幂等设计与事件去重、对账与补偿、退款与争议处理、支付安全与合规要点。