c# - 实例化对象不移动

标签 c# unity-game-engine instantiation

下面是一个附加到预制对象的类,该对象在游戏中实例化,但向上的力没有应用于下面的代码试图执行的对象,而是我收到此错误。

NullReferenceException:对象引用未设置为对象实例第 15 行

这是

rb.GetComponent<Rigidbody2D>();

.

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LightBulbLeft : MonoBehaviour {

//public GameObject LeftLB;


Rigidbody2D rb;

// Use this for initialization
void Start()
{
    rb.GetComponent<Rigidbody2D>();
    rb.AddForce(Vector2.up * 15f, ForceMode2D.Impulse);
}

}

最佳答案

void Start()
{
  rb = GetComponent<Rigidbody2D>();
  rb.AddForce(Vector2.up * 15f, ForceMode2D.Impulse);
}

GetComponent<T>方法返回附加到对象的组件。您需要分配 rb在施加力之前先到您的刚体。

关于c# - 实例化对象不移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52685248/

相关文章:

ios - Unity ARKit 在启动时自动定位地形

unity-game-engine - 使用 setPixel() 时出现错误结果

c# - Unity销毁实例化克隆停止实例化

c# - MVC 4 中的部分实体类未显示数据注释

c# - 我怎样才能避免到处创建新的包装器对象?

c# - 在 Unity 中增加速度时球会晃动

使用接口(interface)的泛型进行 C# 转换

C# 反射和实例化 - 有没有办法做 Activator.CreateInstance(myType){ X = x }?

c# - 带触摸屏的 WPF,列表框打开模式窗口没有响应

c# - 找到两个 3D 线段之间的最短距离