관리 메뉴

도드넷

도드의 유니티 API#5 - hex 컬러 코드값을 rgb로 반환해서 color 객체만들기!! 본문

창고/나만의 게임 제작

도드의 유니티 API#5 - hex 컬러 코드값을 rgb로 반환해서 color 객체만들기!!

도드! 2016. 9. 4. 23:37




Already sold soul to a pony.


도드의 유니티 API#5


- hex 컬러 코드값을 rgb로 반환해서 color 객체만들기!!


39. HEX코드 컬러변경 함수


// HEX COLOR SYSTEM WOOT!!

    public static Color hexToColor(string hex)

    {

        hex = hex.Replace("0x", "");//in case the string is formatted 0xFFFFFF

        hex = hex.Replace("#", "");//in case the string is formatted #FFFFFF

        byte a = 255;//assume fully visible unless specified in hex

        byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);

        byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);

        byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);

        //Only use alpha if the string has enough characters

        if (hex.Length == 8)

        {

            a = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber);

        }

        return new Color32(r, g, b, a);

    }


실행 예시



if (gameObject.tag == "Player")

        {

            GetComponent<SpriteOutline>().color = hexToColor("16FF6E00");

        }

        else if (gameObject.tag == "Enemy")

        {

            GetComponent<SpriteOutline>().color = hexToColor("FF0000FF");

        }





다운로드


HEX CODE TO COLOR.txt



개ㅋ꿀 그냥 추가해서 쓰면됨. 알파값 버그가 있어서 4,2 -> 6,2로 바꿨는데 별문제없기를...

근데 솔직히 이런함수는 유니티 컬러 부분에서 지원해줘야되는거 아닌가 싶음. 어쨋든 유저 제작 함수로 해결가능.






반응형
Comments