- Home /
make an object move when its clicked
hi.. im having a trouble when i click the object in the scene,i want the object to move on its position stored in an array. but once i loop the array,the object moves to position stored in the last index of the array..
here's my code :
public var j : int=0;
public var x = new Array();
x.push(-107);
x.push(-70);
x.push(-33);
x.push(5);
x.push(43);
x.push(72);
x.push(106);
var objectname : String;
function Update() {
if(Input.GetMouseButton(0)) { var hit : RaycastHit; var ray : Ray =Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray ,hit , 100.0 )) {
objectname = hit.collider.gameObject.name; }
if(objectname==this.gameObject.name) {
for(j = 0; j<=x.length-1;j++) {
this.gameObject.transform.position = Vector3(x[j] ,9, -10)
}
}
}
Answer by MarkFinn · Nov 08, 2012 at 08:07 AM
The entire loop of position changes is carried out in one run. That is, when you click on it, it moves it to each of the array positions one after the other in one single frame.
This is not a job for a for loop.
replace your for loop (and its contents) with
if (j>x.length-1){j=0;}
this.gameObject.transform.position = Vector3(x[j] ,9, -10)
j++;
its not working.. the object continues to loop from 1st to last index of the array..
Your answer
Follow this Question
Related Questions
move object on x position to new specific x position 1 Answer
Move Rigidbody Relative To Camera, quick Q (hopefuly) 1 Answer
How can I move a corresponding object. 2 Answers
Updating prefab information live 2 Answers
Move another object 1 Answer