Unity组合锁代码运行报错:名称‘Rotate’不存在于当前上下文
问题修复方案
错误原因
报错
The name 'Rotate' does not exist in the current context的根源是类名引用不匹配:你定义的锁轮旋转控制类名为RotateScript,但在LockControl脚本中访问静态事件时错误使用了不存在的Rotate作为类名。
修复方法
不需要重写全部代码,仅修改LockControl脚本中的2行代码即可:
- 将
Start方法中的事件订阅代码
Rotate.Rotated += CheckResults;
修改为
RotateScript.Rotated += CheckResults;
- 将
OnDestroy方法中的事件取消订阅代码
Rotate.Rotated -= CheckResults;
修改为
RotateScript.Rotated -= CheckResults;
额外运行注意事项
- 确保三个密码轮游戏对象分别挂载了
RotateScript脚本,且对象名对应设置为wheel1、wheel2、wheel3 - 密码轮游戏对象需要挂载碰撞体组件(例如Box Collider),才能正常触发
OnMouseDown点击事件 - 两个脚本需要放在Unity项目的Assets目录下,确保编译正常
内容的提问来源于stack exchange,提问作者Liam Burke
相关产品推荐
相关产品推荐

