[Unity] 유니티 컬러코드Color Code(Hex code)로 텍스트 색상 바꾸는 방법
개요
많지는 않지만 Unity상에서 Hex코드를 이용하여 프로그램에서 색을 변경하는경우가 있습니다.
특히 텍스트 1줄내 특정 부분만 색을 변경하여 강조를 한다는 경우도 있으며 이때 Hex코드를 이용하면 간단하게 해결할 수 있습니다.
(+ 텍스트오브젝트를 2개 생성하는 방법도 있습니다. ^^)
자세한 내용은->Unity Docs
사용 방법
사용방법으로는 아래와 같이 크게 2가지 정도가 있습니다.
- 직접 Hex Code를 입력하기 (텍스트내 일부만 색 변경 가능)
- ColorUtility를 이용하기 (텍스트내 일부만 색 변경 불가)
직접 Hex Code를 입력하기
using UnityEngine;
using UnityEngine.UI;
public class nativesizesample : MonoBehaviour
{
[SerializeField] Text _result_text;
void Start()
{
_result_text.text = "<color=#ff00ffff>"+ GetClearCount().ToString() + "</color>" + "/" + GetAllStageCount().ToString();
}
}
실행 결과
ColorUtility를 이용하기
using UnityEngine;
using UnityEngine.UI;
public class nativesizesample : MonoBehaviour
{
[SerializeField] Text _result_text;
private Color _text_color;
void Start()
{
_result_text.text = GetClearCount().ToString() + "/" + GetAllStageCount().ToString();
_result_text.color = SetColor();
}
private Color SetColor()
{
ColorUtility.TryParseHtmlString("#008000ff", out _text_color);
return _text_color;
}
}
실행 결과