佚名通过本文主要向大家介绍了null reference,nullpointexception,exception:null,testexception null,null是怎么回事等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: NullReferenceException 这是怎么回事
描述:
点击按钮就退出
提示:NullReferenceException
tan.OnGUI () (at Assets/tan.cs:26)
这是怎么回事
解决方案1:
描述:
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)
这是怎么回事
解决方案1:
从报错提示可以看出两点信息:
1)出错点在26行——会不会是没给addFrceObj加rigidbody?
2)空引用异常——会不会是addFrceObj初始化失败了?你在26行前加个判断语句试试
if(addFrceObj){
//施加一个力的代码块
...
}
ps:我也是新手。仅供参考。