(본 글은 프로젝트 중 공부했던 내용을 개인적으로 기록하기 위한 용도입니다.)
원래 흰색 이미지 이던 UI를
FuelCellRatio가 1이 되면 초록색으로 컬러를 변경해주는 코드이다.
private void FuelCellSliderControl()
{
gunChargeShot.fillAmount = 1-gun.FuelCellRatio;
if (gunChargeShot.fillAmount == 1)
{
gunChargeShot.color = new Color32(0, 255, 168, 255);
gunChargeShotQ.color = new Color32(0, 255, 168, 255);
}
else
{
gunChargeShot.color = Color.white;
gunChargeShotQ.color = Color.white;
}
}
단순히 컬러의 값을 직접 설정해 주면 되는 코드인데, 적용이 안되는 경우가 있다.
그럴 경우에는 Color와 Color32를 구분해서 사용했는지 한번 체크해보자.
Color 구조체는 각각 24비트까지만 적용이 되어 RGBA를 표현하고
Color32 구조체는 각 8비트 영역을 더해 더 많은 컬러를 표현할 수 있는 차이이다.
더 쉽게 설명하자면
인스펙터 창에 직접 뜨는 것처럼 0~255 사이의 int 형태로 컬러를 표현하려면 Color32를 사용해야하고,
new Color(0,0.6f,0.6f, 0.5f)와 같이 1보다 작은 float 형태로 표현할 때는 Color를 사용해줘야한다.
결과)
잘 안보이지만 기존 컬러에서 FuelCellRatio가 1이되면 초록색 이미지로 변한다.
'Unity 포트폴리오 > 플젝2. 3D FPS게임' 카테고리의 다른 글
최종 개인 프로젝트 결과물 영상 (0) | 2022.06.26 |
---|---|
Unity Fade in/out 이미지의 투명도(알파값)을 조절해 서서히 흐려지게/밝아지게 하기 (0) | 2022.06.21 |
Unity C# PlayerPrefs로 life이미지 관리하기 (0) | 2022.06.21 |
Unity FPS : enum Type으로 게임 모드 구분해주기 (0) | 2022.06.21 |
Unity FPS : 총 스크립트 (0) | 2022.06.21 |