플레이어 로컬 변수 설명
rollback_define_player()
함수를 사용하여 플레이어 객체를 정의하면, 시스템은 각 플레이어에 대해 해당 객체의 인스턴스를 자동으로 생성합니다. 각 인스턴스는 player_local
변수를 가지며, 이 변수는 해당 플레이어 인스턴스가 로컬인지 여부를 나타냅니다. 만약 rollback_define_player()
를 사용하지 않으면, 이 변수는 어떤 객체에도 생성되지 않습니다. 이 변수를 사용하여 어떤 플레이어가 로컬인지 표시할 수 있습니다. 그러나 이 변수를 게임 로직에 영향을 주는 방식으로 사용하는 것은 권장되지 않습니다. 로컬 플레이어와 원격 플레이어의 게임 로직은 동일해야 합니다.
문법
player_local;
반환값
- Boolean: 로컬 플레이어인지 여부를 나타냅니다.
예제
// 드로우 이벤트
if (player_local) {
draw_sprite(spr_arrow, 0, x, y - 60);
}
위 코드는 드로우 이벤트에서 실행되며, 플레이어 인스턴스가 로컬인지 확인합니다. 만약 로컬이라면, 인스턴스 위에 화살표 스프라이트를 그려서 플레이어가 어떤 인스턴스를 조종하고 있는지를 알려줍니다.
활용 예제
예제 번호 | 설명 | 코드 스니펫 |
---|---|---|
1 | 로컬 플레이어의 점수 표시 | gml if (player_local) { score += 10; } |
2 | 로컬 플레이어의 캐릭터 색상 변경 | gml if (player_local) { sprite_index = spr_local; } |
3 | 로컬 플레이어의 위치에 따라 UI 표시 | gml if (player_local) { draw_text(x, y - 50, "내 캐릭터"); } |
4 | 로컬 플레이어의 입력 처리 | gml if (player_local) { if (keyboard_check(vk_right)) { x += 5; } } |
5 | 로컬 플레이어의 상태에 따른 애니메이션 | gml if (player_local) { if (is_jumping) { sprite_index = spr_jump; } } |
이와 같이 player_local
변수를 활용하여 로컬 플레이어의 행동이나 상태를 제어할 수 있습니다.