Font Texture Page Size 설명 및 활용 예제
개요
font_texture_page_size
는 font_add()
함수를 사용할 때 텍스처 페이지 크기를 설정하거나 가져오는 데 사용되는 내장 변수입니다. 이 변수를 통해 필요한 글리프의 텍스처 페이지 캐시를 정의된 크기까지 생성할 수 있습니다.
동작 과정
- 사용자가 입력한 각 문자는 폰트에서 텍스처 페이지로 캐시됩니다.
- 텍스처 페이지가 가득 차면(GameMaker의 문자를 많이 사용하거나 다양한 문자를 사용할 경우) 캐시에서 문자가 제거되고, 필요한 새로운 문자가 추가됩니다.
- GameMaker는 텍스처 크기가 너무 커지는 것을 방지하려고 하며, 모든 장치가 큰 텍스처를 처리할 수 있는 것은 아니기 때문에 너무 작게 만들지 않으려고 합니다. 텍스처에 문자를 삭제하고 다시 추가하는 과정은 CPU 시간을 소모하여 게임 속도를 저하시킬 수 있습니다.
크기 설정
기본값인 1024px보다 더 크거나 작은 텍스처 페이지 크기가 필요하다고 생각되면 이 내장 변수를 사용하여 값을 설정할 수 있습니다. font_add()
함수를 사용하지 않는 경우에는 이 설정이 게임 성능에 영향을 미치지 않습니다.
문법
font_texture_page_size;
반환값
- 실수형(픽셀 단위의 최대 너비/높이)
예제
아래 코드는 폰트 캐시 텍스처 페이지의 최대 크기를 512px로 설정한 후 새로운 폰트를 게임에 추가합니다.
font_texture_page_size = 512;
newfont = font_add("Arial", 24, true, true, 32, 128);
활용 및 응용 예제
예제 1: 폰트 크기 변화 감지
게임에서 폰트 크기를 동적으로 변경해야 할 경우 font_texture_page_size
를 이용하여 적절한 텍스처 크기를 설정할 수 있습니다.
// 설정 변경 함수
function setFontSize(size) {
if (size > 512) {
font_texture_page_size = 1024; // 큰 텍스처 필요
} else {
font_texture_page_size = 512; // 작은 텍스처 사용
}
newfont = font_add("Arial", size, true, true, 32, 128);
}
예제 2: 성능 최적화
게임 내 오브젝트 수가 많아지면 텍스처 페이지의 크기를 줄여 성능을 최적화하는 코드를 작성할 수 있습니다.
if (object_count > 50) {
font_texture_page_size = 256; // 오브젝트 수가 많을 경우 작은 텍스처 사용
newfont = font_add("Arial", 24, true, true, 32, 128);
}
예제 3: 사용자 설정에 따른 텍스처 크기 조정
사용자가 게임 옵션에서 텍스처 크기를 선택할 수 있는 UI를 만들어 기능을 추가할 수 있습니다.
// 사용자에서 선택한 크기
user_selected_size = get_user_texture_size_choice(); // 임의의 함수
font_texture_page_size = user_selected_size;
newfont = font_add("Arial", 24, true, true, 32, 128);
결론
font_texture_page_size
변수는 게임의 성능을 조절하는 유용한 도구입니다. 사용하려는 폰트의 특성과 게임의 요구에 따라서 적절한 크기를 설정하여 최적의 게임 경험을 제공할 수 있습니다.
© YoYo Games Ltd. 2022 All Rights Reserved