- Home /
nullreferenceexception object reference not set to an instance of an object
I´m realy new at unity and javascript so i need some help. I´m trying to make a gun aim and i get this null error. Here is my script:
var gun : Transform;
var nextPos = 0.0;
var nextField = 40.0;
var nextPos2 = -0.2;
var dampVelocity = 0.4;
var dampVelocity2 = 0.4;
var dampVelocity3 = 0.4;
function Update () {
var newPos = Mathf.SmoothDamp(gun.transform.localPosition.x, nextPos, dampVelocity, .3);
var newField = Mathf.SmoothDamp(Camera.main.fieldOfView, nextField, dampVelocity2, .3);
var newPos2 = Mathf.SmoothDamp(gun.transform.localPosition.y, nextPos2, dampVelocity3, .3);
gun.transform.localPosition.x = newPos;
gun.transform.localPosition.y = newPos2;
Camera.main.fieldOfView = newField;
if (Input.GetButton("Fire2")) {
//adjust viewpoint and gun position
nextField = 40.0;
nextPos = 0.0;
nextPos2 = -0.2;
//slow down turning and movement speed
GetComponent("FPSWalker").speed = 1.5;
GetComponent("MouseLook").sensitivityX = 2;
camera.main.GetComponent("MouseLook").sensitivityX = 2;
camera.main.GetComponent("MouseLook").sensitivityY = 2;
} else {
//adjust viewpoint and gun position
nextField = 60.0;
nextPos = 0.5;
nextPos2 = -0.4;
//speed up turning and movement speed
GetComponent("FPSWalker").speed = 6;
GetComponent("MouseLook").sensitivityX = 6;
camera.main.GetComponent("MouseLook").sensitivityX = 6;
camera.main.GetComponent("MouseLook").sensitivityY = 6;
}
}
Answer by screenname_taken · Mar 04, 2014 at 01:22 PM
Did you remember to assign the gun transformation in the editor? I don't see the gun being assigned in the code.
Answer by eeee · Mar 04, 2014 at 02:06 PM
Hi thx for replying so fast. I'm not sure if i did that. How do i do it?
Click on the object in the editor that has the script. If there is an empty space next to the variable "gun", then it's not assigned.
To assign the gun to it, just drag and drop it from the Hierarchy panel. Don't click it or you'll select it. Just drag and drop.
If the script is on the actual gun object, then you don't even have to do that. Simply remove the gun. variable and leave it as transformation.whatever. by writting gun. something then you are telling it that it should look for a variable called like that.
To access stuff on a gameObject that has the script that is asking for them, you just ask them directly. Like renderer. or rigidbody.
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
4 errors in 1 script. Unexpected symbols and more, help please? 0 Answers
Error Building Player: 'aapt.exe' Win32Exception 3 Answers
BCE0044 unexpected char: 0xFEFF 2 Answers
£ Symbol won't work on Mac? 0 Answers