По приведенному примеру можно сделать так:
var time : float = 2;
var x : float = 1;
function Start() {
yield WaitForSeconds(1);
x = Random.Range(5, 21);
yield WaitForSeconds(29);
x = Random.Range(1, 6);
}
А вообще строка
InvokeRepeating("LaunchProjectile", 2, (x));
выполняется только один раз
Я бы переписал скрипт так:
var apple : Rigidbody;
var time : float;
var x : float = 1; //Начальное значение переменной "x", как я понял?
function Start() {
yield WaitForSeconds(1);
x = Random.Range(5, 21);
yield WaitForSeconds(29);
x = Random.Range(1, 6);
}
Invoke("LaunchProjectile", x); //"x" - та самая переменная, обозначающая промежуток между спавнами
function LaunchProjectile ()
{
instance = Instantiate(apple,transform.position, transform.rotation);
instance.velocity = transform.TransformDirection( Vector3( 0, 0, 0 ) );
Invoke("LaunchProjectile", x);
}
Хотя на js это может выглядеть так, я js плохо знаю для unity, лучше C#:
var apple : Rigidbody;
var time : float;
var x : float = 1; //Начальное значение переменной "x", как я понял?
Invoke("LaunchProjectile", x); //"x" - та самая переменная, обозначающая промежуток между спавнами
yield WaitForSeconds(1);
x = Random.Range(5, 21);
yield WaitForSeconds(29);
x = Random.Range(1, 6);
function LaunchProjectile ()
{
instance = Instantiate(apple,transform.position, transform.rotation);
instance.velocity = transform.TransformDirection( Vector3( 0, 0, 0 ) );
Invoke("LaunchProjectile", x);
}