Hey guys,
I’m trying to make an object move along the X and Z axis (Z with the left and right keys, X with the up and down arrows) without moving along the Y axis. I am very new to scripting. Everytime I change the code, I still get movement along the Y axis but not the Z. What kind of code do I need to write for this kind of movement?
Thanks!
Hello,
If you would not like to use rigidbody / character controller you can something like this:
//Javascript
var moveForward:boolean;
var moveBack:boolean;
var moveRight:boolean;
var moveLeft:boolean;
var speed:float;
function Update(){
if(MoveForward){
transform.position += transform.forward * speed * Time.deltaTime;
}
if(MoveBack){
transform.position += -1 * transform.forward * speed * Time.deltaTime;
}
if(MoveRight){
transform.position += transform.right * speed * Time.deltaTime;
}
if(MoveLeft){
transform.position += -1 * transform.right * speed * Time.deltaTime;
}
}
function OnCollisionEnter(hit:Collision){
if(hit.gameObject.transform.position.z > transform.position.z){
MoveForward = false;
}
if(hit.gameObject.transform.position.z < transform.position.z){
MoveBack = false;
}
if(hit.gameObject.transform.position.x > transform.position.x){
MoveRight = false;
}
if(hit.gameObject.transform.position.x < transform.position.x){
MoveLeft = false;
}
}
function OnCollisionExit(hit:Collision){
if(hit.gameObject.transform.position.z > transform.position.z){
MoveForward = true;
}
if(hit.gameObject.transform.position.z < transform.position.z){
MoveBack = true;
}
if(hit.gameObject.transform.position.x > transform.position.x){
MoveRight = true;
}
if(hit.gameObject.transform.position.x < transform.position.x){
MoveLeft = true;
}
}
If this doesn’t work or you are using rigidbody or character controller please let me know.
Thor