- Home /
camera transform not working when getting axis position
I'm trying to constrain my camera position between boundaries but when I call transform.position.x or transform.position.z the camera won't move. Here's the script:
pragma strict
var speed = 20.0; var cam = Camera.mainCamera;
function Update () { var x = Input.GetAxis("Horizontal") Time.deltaTime speed; var z = Input.GetAxis("Vertical") Time.deltaTime speed;
var xPos = cam.transform.position.x; var zPos = cam.transform.position.z;
if(xPos > 2100 && xPos < 5100) { transform.Translate(x, 0, z, Space.World); } }
If I put the translate call before setting the xPos and zPos vars it works, but afterwards the script doesn't work. It makes no sense to me.
Thanks for the help!
Answer by AugustusConan · Jul 26, 2012 at 08:34 PM
I figured it out...apparently since I had the script attached to the camera in the first place I just had to get rid of the "cam" variable declaration and it worked like a charm.
Answer by Seth-Bergman · Jul 23, 2012 at 09:15 PM
well, I guess the camera's x position is not between 2100 and 5100.. I bet if you get rid of this line : if(xPos > 2100 && xPos < 5100)
it'll work
you should be able to see exactly what the position x is on the camera by keeping an eye on it in the inspector, that should help you set the correct limits
Answer by AugustusConan · Jul 23, 2012 at 11:57 PM
The Camera lies within those bounds...even if i take the if statement out and just have the translate call after the pos var declaration it doesn't do anything. if i put the translate call before the pos var declarations it works...it doesn't make sense
Your answer
Follow this Question
Related Questions
Change position of camera on scene load? 1 Answer
Change camera position 1 Answer
Camera moving in one direction? 2 Answers
How do I let a camera follow on one axis? 3 Answers
How do I translate around a circle? 3 Answers