이벤트
개요
이벤트는 게임 내에서 발생하는 다양한 상황(입장, 충돌 등)에 필요한 기능을 구현하기 위해 사용됩니다.

이벤트에 함수 연결
:Connect()를 사용하여 이벤트에 함수를 연결합니다.
이름이 On으로 시작한다고 모두 이벤트인 것은 아닙니다. BindableFunction의 OnInvoke, RemoteFunction의 OnServerInvoke와 OnClientInvoke는 이벤트가 아니라 함수를 담는 프로퍼티입니다. :Connect()를 사용할 수 없고 대입으로 설정하며, 여러 번 대입하면 마지막에 대입한 함수만 유지됩니다.
이벤트에 연결된 함수 해제
:Connect()로 이벤트를 연결할 때 반환되는 값을 변수에 할당하면, 이벤트가 필요하지 않을 때 해제할 수 있습니다.
이벤트 발생 대기
Wait()을 사용하면 신호가 한 번 발생할 때까지 현재 스레드를 대기하고, 발생 시 전달된 인자들을 반환합니다. 아래는 반환값을 활용하거나 순차 대기로 이어지는 사용 예입니다.
플레이어 입장 시 해당 플레이어의 캐릭터가 준비될 때까지 대기한 뒤 Humanoid 초기화 (서버)
Wait()가 넘겨주는 인스턴스로 후속 작업
신호가 여러 값을 반환하는 경우: AncestryChanged는 (child, parent)를 넘김
RemoteEvent로 서버에서 한 번만 내려줄 데이터를 받을 때까지 대기 후 처리 (클라이언트)
자주 쓰는 이벤트의 종류
충돌 이벤트
이벤트가 연결된 오브젝트에 충돌한 오브젝트를 감지합니다. (예 : Kill Part에 닿은 캐릭터 감지)
이벤트가 연결된 오브젝트의 영역(충돌 범위)에서 벗어난 오브젝트를 감지합니다. (예 : 함정 바닥에서 탈출)
업데이트 이벤트
매프레임 마다 호출되는 이벤트입니다. (예 : 타이머 계산, 물체 이동, 물리 연산)
플레이어 입장/퇴장 이벤트
입장한 플레이어를 감지하는 이벤트입니다.
퇴장한 플레이어를 감지하는 이벤트입니다.
캐릭터 스폰/사망 이벤트
스폰된 캐릭터나 사망한 캐릭터를 감지하는 이벤트입니다.
버튼 이벤트
버튼이 클릭되었을 때 실행되는 이벤트입니다.
Last updated