少女祈祷中·踩坑教训
06/1927 浏览开发心得
1. 一个事件只能有一个管家
UrhoX 引擎里,"每帧执行"这种事件,全游戏只能注册一个处理函数。你在别的地方又注册了一个,就会悄悄把原来的顶掉,原来的主循环就死了。
怎么避免:所有的"每帧执行"注册都放在 main.lua 的 Start() 里,别的地方要用就让 main 来调你。
2. 别删"看起来没用"的函数
你看到一个空函数(函数体什么都没做),觉得是废代码就删了。结果别的文件还在调它,调一个不存在的函数 → 直接崩。
真实惨案:今天清理死代码,连续删了 3 个"空函数"(DiscardPile.Update、Dancer.PlayReaction、GameState.Update),直接导致手机端黑屏,来回折腾了好几轮才修好。
怎么避免:删任何函数之前,先全局搜索它的名字,确认没有任何地方在调用它才能删。空函数 ≠ 废代码,它可能是"占位接口"。
3. 不能新旧版本混着用
你有两个版本的文件,旧版调了一个函数,新版把这个函数删了。如果你把新版文件和旧版文件混在一起运行,旧版还在调那个已经不存在的函数 → 崩。
怎么避免:所有文件要么全部用新版,要么全部用旧版,不能"这个文件新版、那个文件旧版"。


