- Home /
transform.position error
Hi,
I'm trying to get the position of an object with..
var objectpos : Vector3 = transform.position;
but I get the error "Argument Exception: You are not allowed to call get_transform when declaring a variable. Move it to the line after without a variable decleration."
I dont really understand how to solve this, can anyone help?
thanks
Answer by Bob5602 · Jan 13, 2011 at 04:46 PM
I assume you're putting this in the start of your code? I've run into this error before and it really shouldn't affect anything, but you can easily get around it by switching your code into two lines.
var objectpos : Vector3;
objectpos = transform.position;
Cheers.
Also, depending on what you're doing, you may want to declare the objectpos variable as an open variable in your quote, then make the objectpos = transform.position; code in the update() function if you want it to be current, or in the Start() function if you just want it to be the original object position.
Thats great, thanks for the additional info.
Just as an aside, would you happen to know the correct syntax for getting the position of a different gameobject to the one with the script attatched? another simple thing I'm struggling with. Thanks in advance.
You need to declare the other gameobject, check http://unity3d.com/support/documentation/ScriptReference/GameObject.Find.html . I'd do something like var otherObject : GameObject;, then otherObject = GameObject.Find("name"); and then you can use otherObject.transform.position to get its position
Thanks very much for helping me out.
I am however having an issue with the line "otherObject.transform.position" I get the error "Cannot convert 'UnityEngine.Vector3' to 'UnityEngine.GameObject'"
Your answer
Follow this Question
Related Questions
Return Enemy To Start Position 1 Answer
Animation Clobbers Position 2 Answers
If gameobject moves do this 1 Answer
transform.position error 2 Answers