Страница 1 из 1

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

СообщениеДобавлено: 15 янв 2019, 20:16
f0kYsss
В общем мне надо было сделать чтобы определенные объекты появлялись раз в предположим 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.

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

СообщениеДобавлено: 15 янв 2019, 21:00
1max1
Всё из-за Mathf.PingPong(Time.time / 1.5f, 1).
Меняй прозрачность в корутине, без Mathf.PingPong.

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

СообщениеДобавлено: 16 янв 2019, 07:52
waruiyume
Синтаксис:
Используется 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));
};