GetComponent<SpriteRenderer>().DOColor(new Color(255, 0, 0), 6f);
요렇게 6초동안 서서히 빨간색으로 변하게끔 조율했는데 색이 안 바뀝니다
뭐가 원인이지? 싶어서 Update문에서 Debug.Log로 색을 찍어봤습니다.
Debug.Log(GetComponent<SpriteRenderer>().color.r + ", " + GetComponent<SpriteRenderer>().color.g + ", " + GetComponent<SpriteRenderer>().color.b);
웃긴건 콘솔창에서는 제대로 출력됩니다. 시간 지날수록 (255, 255, 255) 에서 (255, 0, 0)으로 잘 줄어들고 있어요.
근데 또 이해가 안 되는건 인스펙터 창에선 SpriteRenderer의 color란이 하얀색 그대롭니다. 일시정지해놓고 마우스로 강제로 변경시키면, 또 바뀝니다.
근데 일시정지를 푸는 순간 트윈이 돌아가기때문인지 다시 하얀색(????)으로 돌아갑니다. 아니 제대로 잘 줄이고 있는데 왜 하얀색(255, 255, 255)으로 돌아가죠?
아시는 분 계실까요...??
자답입니다. 해결했습니다... SpriteRenderer.color는 1부터 시작하는 조금 다른 체계더라구요.
스프라이트 렌더러 문제가 아니라 컬러 선언을 new Color를 써서 그럴거야. 걘 색상의 범위가 0 ~ 1까지거든. 1이 인스펙터에서 보이는 255인 셈이지. new Color32가 0 ~ 255까지의 범위를 가지니까 그걸 쓰면 원하는대로 출력될 걸? 한번 해봐.
헐 그랬군요 이번에 새로운 사실을 알았네요 정말 감사합니다! Color32 본적은 있는데 뭔 차이가 있는지 전혀 모르고 있었어요 ㅠㅠ