【发布时间】:2021-05-09 19:13:18
【问题描述】:
我是 Unity 新手,我正在制作火柴人游戏,我添加了一个平衡脚本。
但它显示编译器错误“未分配rb的变量”。
你能告诉我如何分配变量吗?
这是代码-
// Update is called once per frame
void Update()
{
rb.MoveRotation(Mathf.LerpAngle(rb.rotation, targetRotation, force * Time.fixedDeltaTime));
}
【问题讨论】:
-
假设 rb 是一个
Rigidbody组件,您需要在代码或检查器中分配它。如果该字段是私有的且未序列化,则需要使用GetComponent分配它。如果是序列化的或者公开的,可以在inspector中拖动引用。对于您的用例,您最有可能将其设置为Awake或Start,并将其设置为rb = GetComponent<Rigidbody>()。如果脚本与组件不在同一个对象上,则此行将更改。如果刚体是二维的,则相同。 -
这不是您的实际代码,也不是实际错误。
rb不能是您提供的代码中的“变量”。在同一个方法中声明了一个变量。对于字段,不会出现编译时错误“未分配 rb 的变量”,而是运行时NullReferenceException.. 所以请分享您的实际代码!
标签: unity3d