Как уменьшать альфаканал изображения в Update?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Re: Как уменьшать альфаканал изображения в Update?

Сообщение 1max1 14 июл 2018, 10:20

Правильно в каком смысле, если ты думаешь, что это изменит цвет у картинки, то ты заблуждаешься)0)))0)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как уменьшать альфаканал изображения в Update?

Сообщение Sice 14 июл 2018, 10:56

1max1 писал(а):Правильно в каком смысле, если ты думаешь, что это изменит цвет у картинки, то ты заблуждаешься)0)))0)

Имел ввиду, что компонент получать в старте, а работать дальше в апдейте)
Аватара пользователя
Sice
UNIт
 
Сообщения: 87
Зарегистрирован: 25 окт 2014, 13:51

Re: Как уменьшать альфаканал изображения в Update?

Сообщение 1max1 14 июл 2018, 11:08

Ты в старте должен закешировать компонент, чтобы в дальнейшем его не получать больше:
Синтаксис:
Используется csharp
SpriteRenderer sr;

void Start()
{
    sr = GetComponent<SpriteRenderer>();
}

void Update()
{
    Color c = sr.color;
    c.a -= Time.deltaTime / 2.0f;
    sr.color = c;
}
 
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как уменьшать альфаканал изображения в Update?

Сообщение Sice 14 июл 2018, 11:16

1max1 писал(а):Ты в старте должен закешировать компонент, чтобы в дальнейшем его не получать больше:
Синтаксис:
Используется csharp
SpriteRenderer sr;

void Start()
{
    sr = GetComponent<SpriteRenderer>();
}

void Update()
{
    Color c = sr.color;
    c.a -= Time.deltaTime / 2.0f;
    sr.color = c;
}
 

Да,я так и делаю) спасибо.
Аватара пользователя
Sice
UNIт
 
Сообщения: 87
Зарегистрирован: 25 окт 2014, 13:51

Re: Как уменьшать альфаканал изображения в Update?

Сообщение Fox_game 15 июл 2018, 13:38

Sice писал(а):
Nubila писал(а):
Sice писал(а):Ну совсем меня зачмырили) я понимаю, что такое свойство, а что такое поле)

сделал в итоге так:
Синтаксис:
Используется csharp
gameObject.GetComponent<SpriteRenderer>().color = new Color(255, 255, 255, 0);
 


спасибо всем за помощь.

Пример того, когда ты знаешь "что такое свойство, а что такое поле", но не знаешь что такое "получать компонент в каждом кадре , напливав на кешу"))))) Ну хозяин - барин, как грится....
Если нужно постепенно уменьшать а не сразу в 0, то делай при помощи MoveTowards из Mathf.

Вот так правильно будет ?)
Синтаксис:
Используется csharp
Color obj;
void Start ()
{
obj = gameObject.GetComponent<SpriteRenderer>().color;
}

void Update()
{
obj = new Color(255, 255, 255, 0);
}
 


void Start ()
{
obj = gameObject.GetComponent<SpriteRenderer>().color;
}

void Update()
{
obj -= new Color(0, 0, 0, 120 * Time.deltaTime);
}
Fox_game
UNIт
 
Сообщения: 117
Зарегистрирован: 08 июл 2017, 19:33

Re: Как уменьшать альфаканал изображения в Update?

Сообщение 1max1 15 июл 2018, 13:47

Ау, Color - это структура, изменения таким образом не повлияют на цвет спрайта, абсолютно.
Измененный Color нужно снова присваивать свойству SpriteRenderer`y.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Пред.

Вернуться в Почемучка

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

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