비동기 함수
비동기 함수란?
GameMaker에서 비동기 함수는 웹 서버에 요청을 보내거나 사용자 입력을 요청하거나 데이터를 스트리밍하는 등의 작업을 수행하면서 게임이 멈추지 않고 계속 실행될 수 있도록 하는 함수입니다. 정보가 수신되면 특별한 Async Event가 발생하며, 이 이벤트는 Async Event가 할당된 인스턴스가 추가 코드를 실행할 수 있도록 합니다. 즉, 게임이나 프로젝트가 응답을 기다리는 동안 멈추지 않고 외부 리소스(서버, 사용자 또는 장치)와 통신할 수 있는 방법입니다.
비동기 함수의 중요성
비동기 함수는 GameMaker가 데이터를 전송하거나 수신하는 동안 계속 작동할 수 있게 해줍니다. 이는 다음과 같은 작업을 가능하게 합니다: - 플레이어가 로딩을 기다리지 않고 장치에서 게임으로 데이터를 스트리밍 - 올바른 정보가 수신되었을 때만 작업을 수행하는 콜백 이벤트 - 웹 서버와 데이터 통신 및 교환
이러한 방식은 모든 작업이 훨씬 더 유동적이고 방해받지 않게 작동하도록 합니다. Async Events는 이 이벤트를 가진 모든 인스턴스에서 트리거되므로, 한 인스턴스에서 비동기 함수를 사용하고, 다른 인스턴스에서 응답을 처리하는 비동기 이벤트를 사용할 수 있습니다.
비동기 함수의 종류
아래는 다양한 비동기 함수의 종류입니다:
비동기 함수 종류 | 설명 |
---|---|
HTTP | 웹 서버와의 통신을 위한 함수 |
Dialog | 사용자와의 대화 상자를 위한 함수 |
Cloud Saving | 클라우드에 데이터를 저장하는 함수 |
Push Notifications | 푸시 알림을 보내는 함수 |
페이스북과의 통신을 위한 함수 |
버퍼 함수
비동기 방식으로 버퍼를 로드하고 저장하는 데 사용할 수 있는 여러 버퍼 함수가 있습니다. 이러한 함수는 GameMaker가 지원하는 다양한 콘솔에서 작업할 때 필요하지만, 다른 대상 플랫폼에서도 사용할 수 있습니다.
버퍼 함수 종류 | 설명 |
---|---|
buffer_save_async | 비동기 방식으로 버퍼를 저장하는 함수 |
buffer_load_async | 비동기 방식으로 버퍼를 로드하는 함수 |
buffer_async_group_begin | 비동기 버퍼 그룹의 시작을 알리는 함수 |
buffer_async_group_option | 비동기 버퍼 그룹의 옵션을 설정하는 함수 |
buffer_async_group_end | 비동기 버퍼 그룹의 종료를 알리는 함수 |
활용 예제
다음은 비동기 함수를 활용한 몇 가지 예제입니다:
// HTTP 요청을 보내는 비동기 함수 예제
var url = "https://example.com/api/data";
http_request(url, "GET");
// 사용자 입력을 요청하는 비동기 함수 예제
var user_input = dialog_input("이름을 입력하세요:");
// 클라우드에 데이터를 저장하는 비동기 함수 예제
cloud_save("user_data", user_data);
// 푸시 알림을 보내는 비동기 함수 예제
push_notification("게임 업데이트", "새로운 기능이 추가되었습니다!");
// 페이스북에 로그인하는 비동기 함수 예제
facebook_login();
이러한 비동기 함수들은 게임의 흐름을 방해하지 않으면서도 다양한 기능을 구현할 수 있게 해줍니다.