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

Как изменить цвет UI Image в скрипте?

СообщениеДобавлено: 13 авг 2018, 19:55
DimaJoke
Здрасте.
Есть bool переменная, если она == true то нужно изменить цвет Image.
P.S.
У меня скрипт весит именно на самом image может дело в этом?

Вот мой скрипт:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Script : MonoBehaviour {
public bool testBool;

void start()
{

}

void update()
{
if(testBool == true)
{
         GetComponent<Image>().color = new Color(79/255.0f, 165/255.0f, 63/255.0f);
}
}

}
 

Re: Как изменить цвет UI Image в скрипте?

СообщениеДобавлено: 13 авг 2018, 20:30
1max1
апдейт и старт методы с большой буквы вообще-то

Re: Как изменить цвет UI Image в скрипте?

СообщениеДобавлено: 13 сен 2018, 06:49
MSA
DimaJoke писал(а):
Синтаксис:
Используется csharp
public bool testBool;

void update()
{
if(testBool == true)
{
         GetComponent<Image>().color = new Color(79/255.0f, 165/255.0f, 63/255.0f);
}
 

Вообще надо сначала создать вектор типа Vector4, а потом уже плюсовать его значение к цвету. В подсказках MonoDevelop прямо пишет, что задавать значение color нельзя, оно возвращаемое.

Поэтому сначала объявите переменную.
Потом задайте ей значение, не забыв добавить альфу (в данном случае последнее значение я задал как 1, потому что вектор4 - это RGBA).
И далее уже в виде вектора кидайте в свойство компонента. Примерно так:
Синтаксис:
Используется csharp
private Vector4 Color;

Color = new Vector4(79/255.0f, 165/255.0f, 63/255.0f, 1);

gameObject.GetComponent<Image>().color = Color;
 

Re: Как изменить цвет UI Image в скрипте?

СообщениеДобавлено: 14 сен 2018, 00:48
MSA
Я ошибся, у вас рабочая конструкция, вопрос был лишь в незаданном альфа канале.
Сейчас добавлял в собственных скриптах подобную функцию и поробовал
просто присвоить через new Color - работает и без переменной.