Проблемы с Time.time

Программирование на Юнити.

Проблемы с Time.time

Сообщение f0kYsss 15 янв 2019, 20:16

В общем мне надо было сделать чтобы определенные объекты появлялись раз в предположим 2 секунды. С этим я вроде справился. Потом уже надо было чтобы эти объекты меняли непрозрачность сначала от 0 до 1 и обратно, я написал вот этот код:

private SpriteRenderer square;



// Use this for initialization
void Start () {
square = GetComponent<SpriteRenderer>();
Destroy(gameObject, 3.01f);

}

// Update is called once per frame
void FixedUpdate () {

square.color = new Color(square.color.r, square.color.g, square.color.b, Mathf.PingPong(Time.time / 1.5f, 1));
};



и накинул его на нужный префаб и вся проблема в том, что когда появляется новый объект он имеет сразу же такую же непрозрачность что и объект созданный чуть ранее, хотя по задумке его начальная непрозрачность должна быть равна 0.
f0kYsss
UNец
 
Сообщения: 25
Зарегистрирован: 13 янв 2019, 21:58

Re: Проблемы с Time.time

Сообщение 1max1 15 янв 2019, 21:00

Всё из-за Mathf.PingPong(Time.time / 1.5f, 1).
Меняй прозрачность в корутине, без Mathf.PingPong.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Проблемы с Time.time

Сообщение waruiyume 16 янв 2019, 07:52

Синтаксис:
Используется csharp
private SpriteRenderer square;
float t;

// Use this for initialization
void Start () {
square = GetComponent<SpriteRenderer>();
Destroy(gameObject, 3.01f);

}

// Update is called once per frame
void FixedUpdate () {
t+=Time.deltaTime / 1.5f;
square.color = new Color(square.color.r, square.color.g, square.color.b, Mathf.PingPong(t));
};
 
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10