그래서 버튼을 사용하여 색상을 변경할 수있는 2D 객체가 있으며 각 버튼은 객체의 스프라이트를 변경합니다. 나는 빨강, 주황, 노랑, 초록, 파랑, 자주색을위한 스프라이트를 가지고있다.RGB의 색상이 올바르지 않습니다. Unity C#
이제 2D 오브젝트의 스프라이트가 무엇이든 동일한 색상으로 startColor 속성을 변경하려는 파티클 시스템 (앞에서 설명한 오브젝트의 아이)이 있습니다. 내가 RGB에서 만들려고 해요
var sprite = gameObject.GetComponent<SpriteRenderer>().sprite;
var startColor = gameObject.transform.GetChild(0).gameObject.GetComponent<ParticleSystem>().startColor;
if (sprite == red) startColor = new Color(255, 29, 0);
else if (sprite == orange) startColor = new Color(254, 32, 0);
else if (sprite == yellow) startColor = new Color(254, 215, 0);
else if (sprite == green) startColor = new Color(0, 254, 32);
else if (sprite == blue) startColor = new Color(0, 37, 254);
else if (sprite == purple) startColor = new Color(178, 0, 255);
gameObject.transform.GetChild(0).gameObject.GetComponent<ParticleSystem>().startColor = startColor;
모든 새로운 색상() : 나는 (당신의 스프라이트를 변경할 수있는 2D 객체에 첨부)이 코드를 사용하고 있습니다. 그래서 모든 색상 스프라이트의 RGB 값을 가져 와서 플러그인했습니다. 코드를 실행하면 입자의 색상이 오브젝트의 스프라이트 색상과 일치하지 않습니다.
NOTES : 나는 이것을 안드로이드에서 돌리고 있는데, 파티클 시스템의 재질은 흰색이므로 색조가 없어야합니다.
색상 스프라이트의 RGB 값을 5 번 이상 넣었습니다. 하지만 스프라이트와 일치하지 않습니다! 내가 무엇이 잘못 됐는지 모르겠다. 칼라 스프라이트 이미지를 첨부해야한다면 그냥 물어 보라.
코드를 정리하십시오. 그대로 읽을 수 있습니다. sprite = gameObject.GetComponent(). sprite;' –
변수에'gameObject.GetComponent(). sprite'를 저장할 때마다 동일한 스프라이트를 다시로드 할 필요가 없습니다. 당신은 색깔을 얻습니까? –
'gameObject.transform.GetChild (0) .gameObject'를 변수에 저장할 수도 있습니다. 그대로, 코드를 읽을 수 없습니다 –