- Home /
Moving a Platform
Hello,
I was wondering if I could have some help with creating a moving platform. I am relatively new to programming so bare with me.
Basically I want a platform's y value to continually change.
The following code is what i have so far. The problem I am currently having is that the two subroutines are running at the same time, I don't know why that is. Any help is much appreciated.
Thanks
function Start () {
}
function Update() {
StartCoroutine("eleup");
StartCoroutine("eledown");
}
function eleup(){ // Move up to y = 20
while (transform.position.y < 20){
transform.position += Vector3.up * Time.deltaTime*5;
yield WaitForSeconds(.5);
}
}
function eledown(){ //move down to 0
while (transform.position.y > 0){
transform.position += Vector3.down * Time.deltaTime*5;
yield WaitForSeconds(.5);
}
}
Answer by phren · Jun 13, 2012 at 08:49 AM
By calling eleup and eledown with StartCoroutine you're basically starting them both at "the same time" and letting them run independently. The problem only gets worse since you're starting more coroutines each update.
A possible solution would be just to handle the position updating straight in Update:
var elevatorDirection : Vector3 = Vector3.up;
function Update(){
transform.position += elevatorDirection * Time.deltaTime * 5;
if(transform.position.y < 0) {
elevatorDirection = Vector3.up;
}
if(transform.position.y > 20) {
elevatorDirection = Vector3.down;
}
}
Thank you very much for your help, worked perfectly. I hope I didn't make myself look like to much of an idiot. I thought that the way I had it set up it would run the first coroutine and then, once its done, run the second. Thanks again for your help.
~ Nick
Heh, don't worry. Software development is a lifelong pursuit of perfection. :D
Your answer
Follow this Question
Related Questions
Vector3 Projection 2 Answers
How to make Y-Axis face away from a position? 2 Answers
Finding the Current Vector of Travel 1 Answer
Why using = isn´t fast enough for changing Vector3 values from the transform? 2 Answers
Transformations 2 Answers