2012-11-13 4 views
0

스프라이트에서 색상 키를 제거하려고합니다. 이 경우 스프라이트 배경이 자주색입니다. spritebatch setColor() 함수를 사용해 보았지만 전체 화면이 스프라이트 배경색으로 바뀝니다. 누구든지 색상을 제거하는 방법에 대한 해결책이 있습니까? 어떤 도움Sprite 색상 키 제거 libGDX

답변

2

에 대한

덕분에 내가 libGDX (또는 OpenGL을 ES)를 지원하는 '컬러 키 "투명성을 생각하지 않습니다. 내가 아는 한 모든 사람들은 이미지에서 알파 (투명도) 채널을 사용합니다. 빨강, 초록색 파랑 이외에도 각 픽셀의 투명도를 나타내는 알파 값이 있습니다.

오프라인 도구에서 배경색을 제거하고 투명도 정보로 이미지를 저장하면 잘됩니다. (그리고 이것이 대부분의 기존 libGDX 응용 프로그램이하는 것이라고 생각합니다.)

또는 런타임에 colorkey 픽셀을 투명 픽셀로 변환하는 셰이더를 정의하여이 작업을 수행 할 수 있습니다.

+0

Paint.Net에서 이미지의 배경을 제거했습니다. 나는 Slick2D로 무엇인가를 할 때 언제나 그렇게했는데, 항상 정상적으로 작동했지만 어떤 이유로 libGDX와 작동하지 않습니다. – Crispy91

+0

나는 혼란 스럽다. 배경이 자주색입니까? 투명도를 유지하는 형식으로 이미지를 저장하고 있습니까? 이미지에 투명도 정보 (예 : 알파 채널)가 저장되어있는 경우 렌더링시 문제가 발생합니다. 하지만 블렌딩은 기본적으로 활성화되어야합니다 ... –

+0

죄송합니다. 나는 더 분명해야했다. 스프라이트를 만들 때 내가하는 일은 배경을 자주색으로 설정하고 스프라이트를 그리고 마술 지팡이 도구로 자주색 ​​배경을 제거한 다음 저장하고 스프라이트를 게임의 자산 폴더로 가져옵니다. – Crispy91