드로우 이벤트

드로우 이벤트 카테고리는 게임을 실행할 때 화면에 보이는 내용을 제어하는 모든 이벤트를 포함합니다. 다양한 드로잉 요구 사항을 더 잘 처리하기 위해 여러 개의 개별 이벤트로 나뉘어 있습니다. 아래 이미지는 이벤트가 수행되는 순서를 보여줍니다.

드로우 이벤트의 종류

일반 드로우 이벤트는 세 가지 하위 유형으로 나뉩니다: - Draw Begin - Draw - Draw End

일반적으로 표준 드로우 이벤트만 사용하면 되며, 모든 인스턴스가 게임의 각 스텝마다 이 이벤트를 트리거합니다. 인스턴스의 visible 플래그가 true로 설정되어 있는 한, 이 이벤트는 항상 호출됩니다. 객체 속성에서 이 하위 이벤트에 대해 아무것도 정의하지 않더라도(즉, 코드나 액션이 없음) 객체에 스프라이트가 할당되어 있다면 드로우 이벤트가 트리거됩니다.

기본 드로우와 사용자 정의 드로우

드로우 이벤트에서 드로우하는 방법은 두 가지가 있습니다: 1. 기본 드로우: 객체 속성에서 스프라이트를 정의하고 일반 드로우 이벤트에 아무런 액션이나 코드를 추가하지 않는 경우, GameMaker는 자동으로 할당된 스프라이트를 그립니다. 2. 사용자 정의 드로우: 드로우 이벤트에 코드나 액션을 추가하는 경우, GameMaker에 "이 객체의 인스턴스에 대해 내가 그릴 내용을 제어하고 싶다"고 알리는 것입니다. 이 경우 기본 드로우는 완전히 무시됩니다.

Draw Begin 및 Draw End

주 드로우 이벤트 외에도 Draw BeginDraw End 이벤트가 있습니다. 이들은 표준 드로우 이벤트와 동일하게 작동하지만, 명시적으로 객체에 추가되지 않은 경우 기본 드로우를 수행하지 않습니다. 게임이 실행될 때 항상 모든 인스턴스에 대해 Draw Begin 이벤트가 먼저 실행되고, 그 다음에 표준 드로우 이벤트가 실행되며, 마지막으로 Draw End 이벤트가 실행됩니다.

이러한 방식으로, 한 인스턴스에서 드로우 속성을 설정하면 모든 인스턴스가 이 속성을 사용하거나 첫 번째 인스턴스가 그린 내용을 덮어쓸 수 있습니다.

드로우 GUI

드로우 GUI 이벤트는 드로우 이벤트 카테고리에 속하며, 뷰 카메라의 스케일이나 회전에 영향을 받지 않는 GUI 요소를 그리기 위해 특별히 설계되었습니다. 이 이벤트를 사용하면 인스턴스가 HUD 또는 사용자 인터페이스의 모든 요소를 그릴 수 있습니다.

드로우 GUI 이벤트는 기본 드로우 이벤트에서 그려진 모든 내용을 덮어씁니다. 즉, 낮은 레이어에 있는 인스턴스의 드로우 GUI 이벤트는 높은 레이어에 있는 인스턴스의 일반 드로우 이벤트 위에 그려집니다.

Pre-Draw 및 Post-Draw

Pre-DrawPost-Draw 이벤트는 드로우 이벤트 카테고리의 일부입니다. 이 이벤트들은 디스플레이 버퍼에 직접 그려지며, 현재 보이는 모든 뷰포트의 결합된 화면 크기와 동일한 크기를 가집니다.

  • Pre-Draw: 다른 드로우 이벤트보다 먼저 트리거되며, 뷰포트나 GUI 레이어의 크기에 대해 걱정할 필요 없이 값을 설정하고 드로우 속성을 설정할 수 있습니다.
  • Post-Draw: 모든 표준 드로우 이벤트 후에 트리거되며, 드로우 GUI 이벤트 전에 실행됩니다.

활용 예제

기본 드로우 이벤트 사용 예

// 기본 드로우 이벤트에서 스프라이트 그리기
draw_sprite(sprite_index, 0, x, y);

사용자 정의 드로우 이벤트 예

// 사용자 정의 드로우 이벤트에서 텍스트 그리기
draw_set_color(c_white);
draw_text(x, y, "Hello, World!");

Draw Begin 이벤트 예

// Draw Begin 이벤트에서 배경 그리기
draw_background(background_index, 0, 0);

Draw End 이벤트 예

// Draw End 이벤트에서 UI 요소 그리기
draw_set_color(c_black);
draw_rectangle(10, 10, 100, 50, false);

드로우 GUI 이벤트 예

// 드로우 GUI 이벤트에서 HUD 그리기
draw_set_color(c_red);
draw_text(20, 20, "Score: " + string(score));

Pre-Draw 이벤트 예

// Pre-Draw 이벤트에서 효과 설정
draw_set_alpha(0.5);

Post-Draw 이벤트 예

// Post-Draw 이벤트에서 후처리 효과 적용
draw_set_alpha(1);

HTML5에서의 창 크기 조정 이벤트 예

// HTML5에서 캔버스 크기 조정 이벤트
if (canvas_resized) {
    // 뷰 크기 조정 코드
}

Read more

기술 문서 해설 및 활용 예제

이 문서는 특정 기술에 대한 설명과 활용 방법을 다룹니다. 아래에서 내용을 쉽게 이해할 수 있도록 해설하고, 다양한 활용 및 응용 예제를 추가로 제공합니다. 기술 개요 이 기술은 게임 개발에서 자주 사용되는 기능으로, 특정 작업을 자동화하거나 효율적으로 처리하는 데 도움을 줍니다. 주로 게임의 로직을 구성하거나 사용자 인터페이스를 제어하는 데 사용됩니다. 주요

By 이재협/실장/시스템개발실/PHYSIA

키워드 설명서

이 문서는 특정 키워드에 대한 설명과 사용법을 제공합니다. 문법 (arguments); 인수 인수 이름 유형 설명 argument_name 인수에 대한 설명을 여기에 작성합니다. 반환값 (선택적 설명) 예제 code_example() { // 여기에 코드 예제를 설명합니다. } 코드 예제 설명 위의 코드 예제는 특정 기능을 수행하는 함수의 기본 구조를 보여줍니다. 이 함수는 인수를 받아들이고, 특정

By 이재협/실장/시스템개발실/PHYSIA

GameMaker 환경 설정 및 기능

이 문서에서는 GameMaker의 환경 설정 및 다양한 IDE 기능에 대한 정보를 제공합니다. 다음은 주요 항목들입니다: IDE 환경 설정 IDE(통합 개발 환경) 설정은 GameMaker의 전반적인 사용 경험을 조정하는 데 도움을 줍니다. 여기서 사용자는 개인의 필요에 맞게 다양한 옵션을 설정할 수 있습니다. 주요 설정 항목 설정 항목 설명 테마 IDE의 색상

By 이재협/실장/시스템개발실/PHYSIA

GameMaker IDE 설명서

GameMaker IDE는 게임을 만들고 소프트웨어에서 제공하는 모든 기능을 활용하는 주요 인터페이스입니다. 이 프로그램은 시작 화면부터 게임을 만들기 위해 사용하는 모든 편집기 창까지 포함되며, 매뉴얼과 다양한 튜토리얼에서 IDE라고 언급됩니다. IDE의 구성 요소 다음 섹션에서는 IDE에 대한 정보를 다룹니다: 1. 설정 및 기능 IDE의 설정 및 기능은 사용자가 게임 개발을 보다 효율적으로

By 이재협/실장/시스템개발실/PHYSIA