문제

나는 사용하고있다 Löve2D 작은 게임을 작성하기 위해.Löve2D는 Lua용 오픈 소스 게임 엔진입니다.내가 겪고 있는 문제는 정수가 아닌 위치에 스프라이트를 그릴 때 일부 앤티앨리어스 필터가 스프라이트에 자동으로 적용된다는 것입니다.

love.graphics.draw( sprite, x, y )

따라서 x 또는 y가 둥글지 않으면(예: x=100.24) 스프라이트가 흐릿하게 나타납니다.(x,y)가 스프라이트의 중심을 가리키기 때문에 스프라이트 크기가 균일하지 않은 경우에도 마찬가지입니다.예를 들어, 크기가 31x30인 스프라이트는 픽셀이 정수가 아닌 위치에 그려지기 때문에 다시 흐리게 표시됩니다.

픽셀 아트를 사용하고 있기 때문에 이것을 어떻게든 피하고 싶습니다. 그렇지 않으면 이 효과로 인해 아트가 파괴됩니다.지금까지 사용하고 있는 해결 방법은 math.floor()를 호출하여 코드를 어지럽히고 페인트 프로그램으로 투명 픽셀의 행이나 열을 추가하여 모든 스프라이트의 크기를 균일하게 하여 좌표를 둥글게 만드는 것입니다. , 필요한 경우.

프로그램 시작 시 호출할 수 있는 앤티앨리어싱을 비활성화하는 명령이 있습니까?

도움이 되었습니까?

해결책 3

누구든지 관심이 있으신 경우를 대비해 다른 곳에서 문의해 본 결과 제가 요청한 내용이 이미 기능으로 요청된 것으로 나타났습니다. http://love2d.org/forum/tracker.php?p=2&t=7

그래서 제가 사용하고 있는 Löve의 현재 버전(0.5.0)에서는 여전히 앤티앨리어싱 필터를 비활성화하는 것을 허용하지 않지만 이 기능은 이미 SVN 버전의 엔진에 있습니다.

다른 팁

반 알리어스를 끄면 별명을 얻을 수 있으므로 이름이 표시됩니다! 왜 비 통신 위치로 그리는가? 그리고 그 분수 부품에 대해 무엇을하고 싶습니까? (가장 가까운 값으로 반올림합니까? 자르기? 부정적이라면 어떨까요?)

개인적으로 저는 저수준 그래픽을 내버려두고 코드를 변경하여 필요한 반올림 또는 잘린 X와 Y 용 액세서를 사용합니다. 이것은 당신의 픽셀 아트가 정수 경계에 그려지면서 나중에 필요할 수있는 반 알리 아스를 유지하도록 보장합니다.

주변의 또 다른 작업은 Math.floor ()를 사용하여 정수를 저렴한 해결 방법으로 반올림하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top