GML 파일 편집
edit_file을 사용해 스크립트를 읽고 변경 사항을 적용한 후, 승인 전에 변경된 줄의 diff를 보여줍니다.
GML 언어 튜토리얼로 배우고 있다면, 이 페이지는 PixelTread가 튜토리얼에 어떻게 도움을 주는지 보여줍니다. 에이전트는 스크립트를 읽고, 검토 가능한 diff와 함께 수정하며 빌드 명령을 실행하고 공식 GameMaker 매뉴얼을 참조합니다. 모두 내 프로젝트 내에서 이루어집니다. 튜토리얼은 개념을 설명하고, PixelTread는 한 번에 하나의 아이디어를 실제 파일에 적용합니다. 각 변경 사항을 카드 형태로 보여주며, 'Ask first' 모드에서는 내 결정을 기다리므로 무작정 복사·붙여넣기보다 훨씬 효과적으로 배울 수 있습니다.
edit_file을 사용해 스크립트를 읽고 변경 사항을 적용한 후, 승인 전에 변경된 줄의 diff를 보여줍니다.
Shell은 빌드 또는 테스트 명령을 실행하며, 카드는 실제 종료 코드를 보고합니다.
web_search와 http_get으로 공식 매뉴얼을 가져오므로, 함수명은 소스에서 직접 인용됩니다.
각 도구 호출은 실제 결과와 함께 채팅의 카드 형태로 나타납니다. 카드를 열면 전체 명령 출력 또는 파일 diff를 볼 수 있습니다. 여기서 변경된 줄을 읽고, 승인하거나 거부한 후 GameMaker 편집기에서 빌드하고 테스트합니다.
project folder나열됨argument_count2개 일치scr_message.gml읽기scr_message.gml+9줄build종료 0모자가 캐릭터를 따라가도록 객체를 붙이고 싶다면, 에이전트에게 두 객체와 모자의 위치를 알려주세요. grep을 사용해 두 객체가 생성된 위치를 찾고, read_file로 스크립트를 엽니다. 그런 다음 edit_file을 사용해 대상 인스턴스를 변수에 저장하고, 단계 코드에서 대상 위치와 오프셋을 기준으로 x와 y를 설정합니다. 카드는 각 변경 사항을 보여줍니다. 작은 편집입니다. 'Ask first' 모드에서는 diff를 읽고 승인한 후 방을 실행해 캐릭터가 움직일 때 모자가 머리에 고정되어 있는지 확인합니다. 프레임 단위로 지연된다면 두 번째 수정을 요청하세요. 확신이 들 때까지 폴더에 이전 버전을 보관하세요.
무제한 인자를 받는 스크립트에는 argument_count와 argument 배열이 필요합니다. 일반적인 GML 튜토리얼은 이 아이디어를 한 번 보여주지만, 내 메시지 스크립트에는 고유한 호출자가 있습니다. 에이전트에게 스크립트와 grep을 사용해 모든 호출을 읽고, 받은 인자를 반복하도록 함수를 다시 작성하도록 요청하세요. edit_file 카드는 diff를 보여주며, Shell은 빌드 명령을 실행해 실제 종료 코드를 확인하게 합니다. 모든 호출자는 여전히 표시됩니다. diff를 검토하고 각 기존 호출이 동일한 순서로 값을 전달하는지 확인한 후, 변경을 승인하기 전에 게임을 한 번 실행하세요.
초보자들은 종종 컷신을 만드는 방법을 묻습니다. 하나의 해법은 컨트롤러 객체에 작은 상태 머신을 만드는 것입니다: 상태 변수, 타이머 및 각 단계를 위한 스크립트입니다. 'Plan only' 모드에서 시작하세요. 에이전트는 단계 목록을 작성하고 아무것도 실행하지 않습니다. 목록을 읽고 순서를 변경한 후 'Ask first'로 전환해 에이전트가 write_file로 스크립트를 만들고 edit_file로 컨트롤러를 수정하도록 합니다. 각 카드에서 결정을 내립니다. 마지막으로 빌드하고, 첫 번째 프레임부터 장면을 재생해 승인한 계획과 비교하세요.
부드럽지 않은 움직임의 일반적인 원인은 소수점 위치로 그려지는 비정수 값입니다. 에이전트에게 draw_sprite에 대한 grep과 read_file을 사용해 이동 스크립트를 읽도록 요청하세요. 그런 다음 edit_file은 그리기 전에 위치를 반올림하고 diff를 보여줍니다. Shell은 빌드 명령을 실행하고 실제 종료 코드를 보고합니다. 읽기 쉽습니다. 'Ask first' 모드에서는 변경 사항을 줄별로 승인하고 게임을 실행한 후 몇 초 동안 왔다 갔다 하며 스프라이트가 여전히 흔들리는지 확인합니다. 흔들린다면 다음 카드에서 카메라 코드를 확인할 수 있습니다. 어쨌든 카드는 변경된 내용을 기록으로 남깁니다.
PixelTread는 GameMaker 편집기의 플러그인이 아니며, 게임이나 엔진 내부에서 실행되지도 않습니다. 프로젝트 파일에서 작동합니다. 이 도구는 내 게임, 아트, 사운드, 코드 또는 라이선스가 있는 자산에만 사용됩니다. 에이전트가 범위를 관리하지 않으므로, 이러한 제한 내에서 작업을 유지하는 것은 내 몫입니다. 코드가 정확하다는 보장은 없으므로, 모든 diff를 검토하고 프로젝트를 빌드해 직접 테스트해야 합니다.