충돌 체크 행동 설명서

이 문서는 주어진 형상 내에서 특정 객체 인스턴스와의 충돌 여부를 확인하는 방법을 설명합니다. 형상을 지정하고, 체크할 객체를 정의하며, 형상의 좌상단 및 우하단 좌표를 제공하거나 선의 경우 시작 및 끝 위치를 입력합니다. 다음 내용에서 이 과정을 쉽게 설명하겠습니다.

기본 개념

충돌 형상

  • 충돌 체크를 위해 사용할 수 있는 형상:
  • 사각형 (Rectangle)
  • 타원 (Ellipse)
  • 선 (Line)

좌표

  • 좌표는 게임 룸 내의 절대 위치 또는 현재 행동을 수행하는 인스턴스에 상대적인 위치로 지정할 수 있습니다.

충돌 마스크

  • 충돌 검사를 위해서는 검사할 객체 인스턴스에 스프라이트가 할당되어 있어야 합니다. (예: sprite_index 또는 mask_index에 스프라이트 할당)

결과

  • 충돌이 감지되면 true를 반환하고, 아니면 false를 반환합니다.
  • Not 플래그를 사용하여 충돌이 없는 경우만 true로 평가할 수도 있습니다.

자기 제외

  • Exclude Self 옵션을 사용하면 현재 인스턴스를 충돌 체크에서 제외할 수 있습니다.

리스트 반환

  • Return List 옵션을 체크하면 충돌하는 모든 인스턴스의 리스트를 반환합니다.
  • 리스트가 아닌 단일 충돌 정보가 필요할 경우 체크를 해제할 수 있습니다.

충돌 체크 함수 사용 예제

예제 코드

아래 코드는 "obj_Enemy"라는 객체 유형과 충돌을 체크하는 방법을 보여줍니다. 호출하는 인스턴스의 100px 범위 내에서 충돌을 체크하고, 충돌하는 모든 인스턴스를 리스트에 저장합니다. 그 후, 리스트의 각 인스턴스의 "hp" 변수를 1 감소시킵니다.

// 충돌 체크 행동 블록
var targetList; // 타겟 리스트 변수 설정

if (collision_circle(x, y, 100, obj_Enemy, true, true)) {
    targetList = ds_list_create(); // 새 리스트 생성

    // 충돌 체크
    var collisionCount = instance_position(x, y, obj_Enemy); // 충돌 발생 개수 확인

    // 리스트에 충돌 인스턴스 저장
    with (obj_Enemy) {
        hp -= 1; // hp 감소
        ds_list_add(targetList, id); // 리스트에 인스턴스 ID 추가
    }

    // 리스트 해제
    ds_list_destroy(targetList);
}

인수 설명

인수 설명
Shape 사용할 형상
Object 충돌을 체크할 객체 또는 인스턴스
x1 시작 x 위치
y1 시작 y 위치
x2 종료 x 위치
y2 종료 y 위치
Exclude Self 현재 인스턴스를 무시할지 여부
Not 조건 반전, 충돌이 없을 때만 만족하는 조건
Return List 리스트를 반환할지 아니면 첫 번째 충돌만 반환할지 여부
Free Target 변수 / 표현식으로 리스트 메모리 해제를 제어하는 옵션입니다
Target 반환 값을 저장할 대상 변수

주의사항

  • 유효한 충돌 마스크가 없는 인스턴스는 충돌이 감지되지 않습니다.
  • 작동 중 만약 인스턴스가 파괴되거나 룸이 종료되면 리스트 ID를 해제해야 합니다.

충돌 체크는 게임에서 객체 간의 상호작용을 처리하는 중요한 요소입니다. 이 행동을 적절히 활용하여 게임의 재미를 높여보세요!

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