Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Uniti Script C#

Vlad okt Ученик (98), открыт 1 неделю назад
Помогите пожалуйста я делаю игру и спавню тайлы но они спавнятся с бешанной скоростью подскажите как сделать задержку я пытался но у меня не получилось 2022.1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Denerator : MonoBehaviour
{
public GameObject[] potions;
Vector3 dictanse = new Vector3 (30,0);
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
int number = Random.Range(0, potions.Length);
Instantiate(potions[number], transform.position + dictanse, transform.rotation, transform);
dictanse += new Vector3 (30, 0);
}
}
2 ответа
Kira_Yoshikage1 Мастер (1060) 1 неделю назад
хз не пробовал
Vlad oktУченик (98) 1 неделю назад
Респект
Kira_Yoshikage1 Мастер (1060) Vlad okt, бат скрипт онли
Vlad oktУченик (98) 1 неделю назад
жаль
temka game killer Мыслитель (7000) 1 неделю назад
Попробуй сделать так. Введи переменную времени t.
В методе Start() присвой ей ноль t=0;


в методе Update() увеличивай t на единичку t++


и сделай проверку в методе Update()

if (t==10)
{
спавнишь игровые объекты

переменной t присваиваешь 0

}


Тогда игровые объекты будут спавниться не каждый кадр метода
Update а каждый десятый кадр.
Vlad oktУченик (98) 1 неделю назад
а как я не очень умею писать скрипты(( только месяц в юнити
Vlad oktУченик (98) 1 неделю назад
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Denerator : MonoBehaviour
{
public GameObject[] potions;
private int t = 0;
Vector3 dictanse = new Vector3 (30,0);
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
t += 1;
if (t == 10)
{
int number = Random.Range(0, potions.Length);
Instantiate(potions[number], transform.position + dictanse, transform.rotation, transform);
dictanse += new Vector3(30, 0);
}
}
}
спавнится всего 1 и все
temka game killerМыслитель (7000) 1 неделю назад
Ты забыл после проверки условия обнулить время t t=0;
temka game killerМыслитель (7000) 1 неделю назад
if (t == 10)
{
int number = Random.Range(0, potions.Length);
Instantiate(potions[number], transform.position + dictanse, transform.rotation, transform);
dictanse += new Vector3(30, 0);


t=0;

}
}
}
спавнится всего 1 и все
temka game killerМыслитель (7000) 1 неделю назад
Есть в природе более нормальный способ замедлить спавны игровых объектов. Но я этих методов не знаю. А делаю ват таким образом.
temka game killerМыслитель (7000) 1 неделю назад
А делаю вот таким образом.
Vlad oktУченик (98) 1 неделю назад
Спасибо большое!!! помоголо
Похожие вопросы