픽셀 아트를 사용하는 Game Maker Studio에서 게임을 만들고 있습니다. 게임을 시작하면 모든 스케일 업 텍스처가 실제로 흐릿합니다. (작은 사람에게는 일어나지 않습니다.)
예를 들어이 이미지
게임에서 다음과 같이 렌더링됩니다 :
어쨌든 작은 픽셀의 크기 를 흐릿한 픽셀 대신 큰 픽셀 로 조정 해야합니까?
픽셀 아트를 사용하는 Game Maker Studio에서 게임을 만들고 있습니다. 게임을 시작하면 모든 스케일 업 텍스처가 실제로 흐릿합니다. (작은 사람에게는 일어나지 않습니다.)
예를 들어이 이미지
게임에서 다음과 같이 렌더링됩니다 :
어쨌든 작은 픽셀의 크기 를 흐릿한 픽셀 대신 큰 픽셀 로 조정 해야합니까?
답변:
일부 리소스에서 솔루션을 찾았습니다. 전역 게임 설정으로 이동 한 다음 플랫폼 스포일러 (예 : "Windows"또는 "Android")로 이동하여 "그래픽"이라는 제목의 스포일러를 선택하고 "픽셀 간 색상 보간"을 해제하십시오. 재미있게 보내세요 :)
모든 스프라이트를 수동으로 확장해야하는 사람은 아무도 없습니다. 작업 공간이 느슨 할뿐만 아니라 매우 전문적이지 않습니다. 전역 게임 설정에서 보간 기능을 끌 때 해결책이 없습니다.
texture_set_interpolation(false);
:) 이것이 미래의 노력에 도움이되기를 바랍니다.
내가 이것을 위해 일반적으로하는 일은 포토샵이나 김프 (스케일 / 가장 가까운 이웃)를 사용하는 것입니다
그러나 GM : S 스프라이트 편집기 자체에서 수행하려면 스케일 대신 스트레치 명령을 사용하여 POOR 품질로 설정합니다. 그것은 Blocky 느낌을 유지합니다
위는 ATM에서 작동하는 게임 메신저입니다.
지도의 배경 탭에서 축척 기능을 끕니다. 스케일이 맞지 않으면 배경의 텍스처가 방 /지도와 같은 크기인지 확인하십시오.
또는 이 게시물 을 사용하여 배경 결과를 향상시키는 백그라운드 스크립트를 작성 하십시오 (바람직한).
이것은 표면을 사용하므로 추가 도움이 필요한 경우이 게시물 은 많은 정보를 제공합니다.
편집하다:
내 대답으로 돌아가서 이것이 처음이 아니며 튜토리얼 내용이 필요하다는 것을 깨달았습니다. 여기있어:
1 단계 : 원하는 스케일을 선택하십시오. 모든 방에보기를 사용하고 포트 W 및 포트 H를 적절하게 조정하십시오. 예를 들어 2의 스케일을 사용하는 경우 GM의 룸 편집기에서 다음과 같이 표시됩니다.
이것이 모든 방에 일관성이 있어야합니다. 방이 많으면 코드 *를 통해이 작업을 수행하는 것이 더 쉬울 수 있습니다. 값이 일정하지 않고 여러 가지 다른 스케일을 지원할 수 있기 때문에 그렇게하는 것을 선호합니다.
2 단계 : 3 개의 스크립트 screen_init, screen_begin 및 screen_end를 만듭니다. 각 스크립트에 적용되는 내용은 다음과 같습니다.
인용 : screen_init
// screen base(view_wview and view_hview)
screen_x = 0;
screen_y = 0;
screen_w = 320;
screen_h = 240;
screen_scale = 2;
// create a surface for the whole screen to be drawn on
screen = surface_create(screen_w,screen_h);
// this will destroy the screen object if surfaces are not supported on the graphics card, reverting to the viewport method
if screen = -1{instance_destroy();}
인용 : screen_begin
// this draws the surface on the screen
surface_reset_target();
draw_clear(0);
draw_set_blend_mode_ext(bm_one, bm_zero);
draw_surface_stretched(screen,screen_x,screen_y,screen_w*screen_scale,screen_h*screen_scale);
draw_set_blend_mode(bm_normal);
screen_refresh();
인용 : screen_end
// this sets surface 'screen' as the drawing target for everything in the game, so all drawing will be done on this surface and not on the game screen
surface_set_target(screen);
3 단계 : 이제 스크립트가 생겼는데 어디로 가나 요? 객체를 만듭니다. obj_screen, objScreen, o_screen 등을 수행하고 다음을 수행하십시오.
그리고 그 물체를 게임의 맨 처음 방에 놓고 지속적으로 표시하고 복제물이 없는지 확인하십시오.
끝났고 이제는 선명하고 또렷한 스케일링 = D