NullReferenceException 这是怎么回事

seqq01 2016-07-23 11:22:27
using UnityEngine;
using System.Collections;

public class tan : MonoBehaviour {

//施加普通力的对象
GameObject addFrceObj = null;
//施加目标位置力的对象
GameObject addPosObj = null;
//目标对象
GameObject cubeObj = null;
// Use this for initialization
void Start () {
//获取施加普通力的对象
addFrceObj = GameObject.Find ("Sphere0");
//获取施加目标位置力的对象
addPosObj = GameObject.Find ("Sphere1");
//获取目标对象
cubeObj = GameObject.Find ("Cube");
}
void OnGUI()
{
if(GUILayout.Button ("普通力",GUILayout.Height (50)))
{
//施加一个力,X轴为100,y轴为1000
addFrceObj.rigidbody.AddForce (10, 0, 10);
}
if(GUILayout.Button ("位置力",GUILayout.Height (50)))
{
//施加一个力,力会想这个方向移动,力的模式为冲击力
Vector3 frce = cubeObj.transform.position - addPosObj.transform.position;
addFrceObj.rigidbody.AddForceAtPosition (frce,addPosObj.transform.position,ForceMode.Impulse);
}
}
// Update is called once per frame
void Update () {

}
}


点击按钮就退出
提示:NullReferenceException
tan.OnGUI () (at Assets/tan.cs:26)
这是怎么回事
...全文
176 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
larry233 2016-07-28
  • 打赏
  • 举报
回复
从报错提示可以看出两点信息: 1)出错点在26行——会不会是没给addFrceObj加rigidbody? 2)空引用异常——会不会是addFrceObj初始化失败了?你在26行前加个判断语句试试 if(addFrceObj){ //施加一个力的代码块 ... } ps:我也是新手。仅供参考。

2,538

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧