2009-08-13 3 views
3

작은 게임 작성에 Löve2D을 사용하고 있습니다. Löve2D는 루아를위한 오픈 소스 게임 엔진입니다. 내가 겪고있는 문제는 비표준 위치에 그릴 때 일부 안티 알리아스 필터가 스프라이트에 자동으로 적용된다는 것입니다.Löve2D에서 앤티 엘리 어싱 사용 안 함

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

따라서 x 또는 y가 둥글 지 않으면 (예 : x = 100.24) 스프라이트가 흐리게 보입니다. 스프라이트 크기가 짝수가 아닐 때도 마찬가지입니다. 왜냐하면 (x, y)가 스프라이트의 중심을 가리 키기 때문입니다. 예를 들어, 31x30 크기의 스프라이트는 픽셀이 비 정수 위치에 칠되어 있기 때문에 다시 흐리게 표시됩니다.

저는 픽셀 아트를 사용하고 있기 때문에이 모든 것을 피하고 싶습니다. 그렇지 않으면 아트가이 효과로 파괴됩니다. 필자가 지금까지 사용하고있는 해결 방법은 math.floor()에 대한 호출로 코드를 쓰레기로 만들고, 페인트 프로그램으로 투명한 픽셀의 행이나 열을 추가하여 모든 스프라이트가 짝수 크기가되도록 강요하는 것입니다. , 필요한 경우.

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

답변

2

, 나는 다른 곳에서 물어와 내가 무엇을 해달라고 부탁하는 것은 이미 기능으로 요청 사실을 발견했습니다 그래서 http://love2d.org/forum/tracker.php?p=2&t=7

, 내가 사용 해요 사랑의 현재 버전 (0.5.0)은 여전히 ​​안티 알리아 필터를 비활성화 할 수 없지만이 기능은 이미 SVN 버전의 엔진에 있습니다.

+0

질문을 방문하는 사람들에게 더 잘 보이도록이 답변 (또는 다른 답변 중 하나)을 올바른 것으로 표시하는 것이 좋습니다. :) – Codahk

4

앤티 앨리어싱을 해제하면 앨리어싱이 적용되므로 이름이 달라집니다. 왜 당신은 비 통합적인 위치에 그리는가? 그리고 그 분수 부분에 대해서는 무엇을하고 싶습니까? (가장 가까운 값으로 반올림하고 자르면 음수 인 경우는 어떻게합니까?)

개인적으로 저급 그래픽을 그대로두고 반올림 또는 자르기를 수행하는 x 및 y에 대한 접근자를 사용하도록 코드를 변경합니다. 당신이 필요합니다. 이렇게하면 앤티 앨리어싱을 나중에 필요로하는 상태로 유지하면서 픽셀 아트가 정수 경계로 그려집니다. 아무도 관심이 경우

3

또 다른 가능한 해결 방법은 math.floor()를 사용하여 값싼 해결 방법으로 정수를 반올림하는 것입니다.