위의 그림은 고도 스크립트에서 파일 클래스를 사용하는 대표적인 사례로 클래스 인스턴스를 만들고, 파일을 열고, 작업 후 닫는 전형적인 과정을 거친다. 사용할 수 있는 다양한 메서드는 다음과 같다. 파일 읽기 및 쓰기는 UTF-8 인코딩으로 처리한다. ■ 열기, 닫기 Error open ( String path, ModeFlags flags ) ☞ 정상시 OK 리턴, READ/WRITE/READ_WRITE/WRITE_READ(파일 존재하면 삭제함) 모드 사용 가능 Error open_compressed ( String path, ModeFlags mode_flags, CompressionMode compression_mode=0 ) ☞ 압축된 파일 열기, 단 고도에서 저장한 파일만 읽기 가능. 압축 방식은..
고도 스크립트 개요, 예약어와 연산자, 고도 스크립트 타입과 변수 선언, 고도 스크립트 클래스와 함수, 고도 스크립트의 제어문에 이은 글이다. 시그널은 오브젝트 간에 메시지를 주고받기 위한 도구로 시스템에 내장된 시그널은 필요에 따라 사용자 함수에 연결하여 해당 시그널을 받아서 사용하면 된다. 사용자 오브젝트에 시그널을 적용하고 싶다면 시그널을 정의하는 과정과 시그널을 발생시키는 과정이 필요하다. ■ 시그널 연결하기 위의 그림은 고도에 내장된 RigidBody라는 클래스의 도움말 화면으로 RigidBody 클래스에서 제공하는 시그널을 확인할 수 있다. 시스템 클래스가 제공하는 시그널의 경우에는 connect로 사용자 함수에 연결만 하면 해당 이벤트가 발생하는 시점에 지정한 함수가 호출되는 방식이다. 위의..
고도 스크립트 개요, 예약어와 연산자, 고도 스크립트 타입과 변수 선언에 이은 글이다. ■ 클래스 고도에서는 스크립트 파일 하나를 기본적으로 하나의 클래스로 간주한다. 단, 이름 없는 클래스인데 해당 파일에 이름을 부여하고 싶다면 class_name 키워드를 사용하여 "class_name 클래스명, 아이콘 경로"의 형식으로 기술할 수 있다. 아이콘 지정은 생략할 수 있다. 위의 그림은 스크립트에 클래스 이름을 부여하면서 아이콘을 지정한 것으로 해당 스크립트를 사용하는 노드의 아이콘이 편집기에서 지정한 것으로 변경된 것을 확인할 수 있다. 아이콘을 지정하지 않으면 상속한 부모 클래스의 아이콘을 표시한다. 고도의 클래스는 변수와 함수를 가질 수 있으며 함수는 static으로 정의해서 인스턴스화 없이도 사용할..
고도 게임 엔진에서 캐릭터를 움직이게 하고, 사용자의 동작에 반응하거나 제작자 미리 준비한 시나리오나 시간에 따라 어떤 작업을 수행하는 것은 고도 스크립트(GDScript)에 기반한다. 그러므로 고도 게임 엔진으로 뭔가를 만들고 싶다면 고도 스크립트의 기본적인 문법이나 사용법을 익히는 것은 필수 과정이라 할 수 있겠다. 물론 고도에서 제공하는 비주얼 스크립트나 C# 스크립트를 사용하는 방법도 있지만 고도에서 제공하는 대부분의 데모 프로젝트나 샘플은 GDScript를 사용하고 있다는 한계가 있다. C#에 익숙한 개발자라면 C# 스크립트를 이용하는 것도 상당히 매력적인 선택이지만 이 또한 오픈소스 닷넷 프레임워크인 모노(Mono)를 추가적으로 설치해야 한다는 제약이 있다. 고도 스크립트의 가장 큰 특징 두 ..
고도 게임 엔진에서 하나의 프로젝트는 하나의 폴더를 생성하는 것으로 시작한다. 해당 폴더가 프로젝트의 루트 폴더가 되어서 씬이나 자원, 스크립트 경로를 지정할 때 "res://"는 프로젝트의 루트 폴더를 의미한다. 물론 하위 폴더를 가질 수 있다. 루트 폴더에 고도 프로젝트 파일(project.godot)이 한 개 존재하고 한 개 이상의 씬 파일과 스크립트 파일, 그리고 여러 가지 에셋(이미지, 폰트, 3D 모델 등등) 파일로 프로젝트 파일 시스템을 구성한다. ■ 고도 프로젝트 파일(project.godot) 프로젝트의 이름, 시작 씬, 입력 설정 정보 등의 프로젝트의 주요 설정이 담기는 파일. config_version=4 [application] config/name="Global Illuminati..