得意黑字体安装
This commit is contained in:
1 parent
d0144205c4
commit
3ae43d1297
39 files changed
+8628
-817
No files matched your search
@@ -29,11 +29,22 @@ description: 按需求难度分配验证成本——简单改动只做最省的
|
||||
|
||||
拿不准时按复杂处理。
|
||||
|
||||
## 「删除兜底代码」属于哪一档
|
||||
|
||||
删运行时的后备逻辑(自动查找节点、默认值、容错分支)时,别按行数、也别按动了几个文件判,按**删掉之后出错看不看得见**判:
|
||||
|
||||
- 后备路径其实没被走到(引用 / 配置本来就接全)→ 等同删死代码,**简单任务**,同一件事涉及几个文件也一样。只做一次最便宜的确认:查一遍引用确实接好,然后交付。
|
||||
- 后备路径确实在兜着东西(有地方没接)→ **复杂任务**。这种改动出错的表现是「不报错、就是不工作」,必须回归。
|
||||
- 光读代码分不出是哪种:**后备代码在的时候,「引用是否接全」本身是看不见的**,所以不能拿「我只是删死代码」当免检前提。查一次实际接线就能分清,而这个检查本身就是那次最便宜的确认。
|
||||
|
||||
## 简单任务:不做测试
|
||||
|
||||
- 直接改完交付,最多做一次最便宜的确认:读一次返回值、看一眼 transform、curl 一次接口。
|
||||
- 不跑测试套件,不做回归,不为了确认把整个项目重读一遍。
|
||||
- 不要用「更保险」当理由补验证步骤。
|
||||
- **本项目的简单改动不要再跑这些**:Unity 编译检查、控制台检查、进 Play 模式实测、保存场景 / 预制体。它们只在「复杂任务:必须回归」那一档才做。
|
||||
|
||||
典型的简单改动:改字段类型 / 字段名 / 默认值、文案 / 注释 / 日志、调 Inspector 数值。
|
||||
|
||||
## 复杂任务:必须回归
|
||||
|
||||
|
||||
@@ -41,3 +41,50 @@ private void Awake()
|
||||
```
|
||||
|
||||
**边界**:这条只约束游戏运行时代码。编辑器工具、一次性批处理脚本需要按结构查找节点时可以照常查找。
|
||||
|
||||
## 动画一律用 Animator 播,不用 legacy 的 Animation 组件
|
||||
|
||||
要在物体上播放动画时,走 `Animator`(状态 / 触发器 / 参数):
|
||||
|
||||
```csharp
|
||||
[SerializeField] private Animator animator; // ✅ 引用由 Inspector / 预制体提供
|
||||
```
|
||||
|
||||
**不允许**——用老的 `Animation` 组件播动画:
|
||||
|
||||
```csharp
|
||||
// ❌ legacy 的 Animation 组件
|
||||
_animation = GetComponent<Animation>();
|
||||
_animation.clip = someClip;
|
||||
_animation.Play();
|
||||
|
||||
// ❌ 运行时自己补一个 Animation 组件
|
||||
gameObject.AddComponent<Animation>();
|
||||
```
|
||||
|
||||
**为什么**:项目统一一套动画播放方式,动画和程序看同一处。混用会让同一个物体上既有 `Animator` 又有 `Animation`,两边驱动同一批属性,播放互相打架、排查困难。
|
||||
|
||||
**例外**:用户明确说明这次要用 `Animation` 才用,且只限那一次改动。
|
||||
|
||||
## 只做用户点名要做的事
|
||||
|
||||
用户说改哪里就只改哪里。下面这些都算「没说过的事」,不要顺手做:
|
||||
|
||||
- 给预制体 / 物体加组件(尤其是为了让自己写的代码能跑起来而补一个组件)
|
||||
- 加用户没提过的功能或容错(自动回收、时长兜底、默认值兜底……)
|
||||
- 动用户已经定好的行为或时序(例如特效 / 动画的播放时机)
|
||||
- 保存场景、保存预制体、改其它资源
|
||||
|
||||
不改就做不下去时,先说明「为什么必须动它」并问一句,确认后再动。
|
||||
|
||||
## 预制体资产存不下场景对象引用
|
||||
|
||||
预制体上的脚本要指向场景里的物体(玩家、UI、相机……)时,预制体资产里这个字段只能是空的,
|
||||
必须在**每个场景实例上各接一次**;指向资源(预制体、Clip、材质)的字段才可以直接在预制体上设。
|
||||
|
||||
接的时候留意目标是不是「真正会移动 / 变化」的那个节点:玩家根节点不动、真正移动的是子节点时,要接子节点。
|
||||
|
||||
## 「编译干净」要先确认脚本真的被 Unity 导入
|
||||
|
||||
改完脚本后,确认对应的 `*.cs.meta` 已生成、类型能在编辑器程序集里查到,再看编译结果。
|
||||
否则 Unity 还没导入这个文件,控制台没报错不代表它编译通过。
|
||||
Reference in new issue
Block a user