- Home /
JavaScript: ``Unknown Identifier``
It`s saying (Unknown Identifier : distance) lines 14 & 15. Help?!
#pragma strict
var hit : int = 25;
var Distance : float;
var maxDistance : float = 1.5;
function Update()
{
if(Input.GetButtonDown("Fire1"))
{
var hit : RaycastHit;
if(Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), hit))
{
distance = hit.distance;
if(distance < maxDistance)
{
hit.transform.SendMessage("ItemDrop", hit, SendMessageOptions.DontRequireReceiver);
}
}
}
}
Answer by Dave-Carlile · Nov 07, 2013 at 03:02 AM
Most languages are case sensitive, so case matters when you're using variables and functions and such.
You've declared your distance variable as:
var Distance : float;
But you're using it with a lower case d
...
distance = hit.distance;
So either declare the variable with a lower case d
...
var distance : float;
Or use the upper case D
when setting it (and all other cases where you're using it)...
Distance = hit.distance;
Note that hit.distance
is still using lower case because that property is declared with a lower case d
. But any reference to your declared Distance
variable would need to use the upper case d
.
Answer by trs9556 · Nov 07, 2013 at 03:03 AM
The error tells you exactly what is wrong, even what lines.
It's saying that there is an unknown identifier (it doesn't know what it is). It even tells you that it doesn't know what "distance" is. Beyond that it's telling you that it doesn't know what "distance" is on line 14 and line 15.
The reason for this is because on line 4 you declare a float variable named Distance. Distance does not equal distance.
Distance != distance
Distance == Distance
distance == distance
Answer by Eric5h5 · Nov 07, 2013 at 03:06 AM
"Distance" and "distance" are not the same. However, all variables should be declared inside functions unless they need to be shared between different functions or between frames (and they should also use lowercase), so remove the Distance and hit global variables. Also you don't even need the distance variable; just do "if (hit.distance < maxDistance)".
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Error in distance coding 1 Answer
ERROR PRASING HELP!!! 2 Answers
No appropriate version of 'UnityEngine.Object.Instantiate. Please Help :( 1 Answer
Exception error 1 Answer