- Home /
Add Delay to Moving Platform
Hi, i have a script to move my platform like a ping pong. I have know idea on how to add a delay before this happens and a delay before the platform switches.
basically i want a delay for when it starts and when the platform returns.
my setup
using System.Collections;
public class MovingPlatform : MonoBehaviour {
public Transform DestinationSpot;
public Transform OriginSpot;
public float Speed;
public bool Switch = false;
void FixedUpdate()
{
// For these 2 if statements, it's checking the position of the platform.
// If it's at the destination spot, it sets Switch to true.
if(transform.position == DestinationSpot.position)
{
Switch = true;
}
if(transform.position == OriginSpot.position)
{
Switch = false;
}
// If Switch becomes true, it tells the platform to move to its Origin.
if(Switch)
{
transform.position = uhu(transform.position, OriginSpot.position, Speed);
}
else
{
// If Switch is false, it tells the platform to move to the destination.
transform.position = Vector3.MoveTowards(transform.position, DestinationSpot.position, Speed);
}
}
}
thanks
Nick
Answer by MrFijiWiji · Jun 07, 2014 at 09:47 PM
Well, since you've coded in such a way as to tell you when the platform is at the desired position, it's simply a case of creating a Coroutine to pause for the desired amount of time before initiating the return of the platform. You could also do this with a simple timer, but for now let's just stick to the Coroutine and WaitForSeconds idea.
first add a Coroutine to your script like so:
IEnumerator Wait()
{
//Stop the platform from moving here.
//wait for the desired amount of seconds (float);
yield return new WaitForSeconds(TIME_TO_WAIT);
}
Once you have that added it's a simple case of calling it like so:
StartCoroutine("Wait");
Hi, sorry im not sure where i would add this in? or manipulate the code, Still learning.
Your answer
Follow this Question
Related Questions
Delay before any action 3 Answers
How to make a timer? 2D GAME 1 Answer
mid code timer? 1 Answer
Gradually scale platform? 4 Answers
timer that can be reset 1 Answer