Event Listeners
소개
플레이어가 지정된 채팅을 입력하거나, 특정한 오브젝트를 공격할 와 같이 ZEP 스페이스에서 발생하는 특정 상황에 반응하여 동작하는 함수들 입니다.
EventListener가 비정상적으로 많이 추가되는 경우 앱이 종료될 수 있습니다.
onUpdate문 또는 반복적으로 실행되는 문에서 EventListener를 등록하는 것을 지양해주세요.
onSay
플레이어가 채팅을 입력할 때 동작하는 함수입니다.
onPlayerTouched
캐릭터들끼리 충돌할 때 동작하는 함수입니다.
onObjectTouched
캐릭터가 오브젝트와 충돌할 때 동작하는 함수입니다.
onAppObjectTouched
플레이어가 키 값을 가진 오브젝트와 충돌할 때 동작하는 함수입니다.
onUnitAttacked
공격 키(Z)로 다른 캐릭터를 공격할 때 동작하는 함수입니다.
onObjectAttacked
공격 키(Z)로 오브젝트를 공격할 때 동작하는 함수입니다.
onSidebarTouched
플레이어가 사이드바 앱을 클릭(터치)할 때 실행되는 함수입니다.
onTriggerObject
오브젝트와 F 상호작용 시 동작하는 함수입니다.
onAppObjectAttacked
플레이어가 키 값을 가진 오브젝트를 공격(Z키) 할 때 동작하는 함수입니다.
📚 API 설명 및 예제
Event Listener 함수 한 눈에 보기
// 플레이어들이 채팅창에 입력하는 모든 채팅에 대해 호출 되는 이벤트
// !로 시작하는 텍스트는 채팅창에 나오지 않으나, onSay 함수에는 사용 가능
App.onSay.Add(function(player, text) {
});
// 플레이어가 다른 플레이어와 부딪혔을 때 호출 되는 이벤트
App.onPlayerTouched.Add(function(sender, target, x, y){
});
// 플레이어가 오브젝트와 부딪혔을 때 호출 되는 이벤트
App.onObjectTouched.Add(function(sender, x, y, tileID, obj) {
});
// 플레이어가 키 값을 가진 오브젝트와 부딪혔을 때 호출 되는 이벤트
App.onAppObjectTouched.Add(function(key, sender, x, y){});
// 플레이어가 다른 플레이어를 공격할 때 (Z키) 호출 되는 이벤트
App.onUnitAttacked.Add(function(sender, x, y, target) {
});
// 플레이어가 오브젝트를 공격(Z키)했을 때 호출 되는 이벤트
App.onObjectAttacked.Add(function(sender, x, y){
});
// 플레이어가 사이드바 앱을 클릭(터치)할 때 호출 되는 이벤트
App.onSidebarTouched.Add(function(player){
});
// 오브젝트와 F 상호작용 시 동작하는 함수
App.onTriggerObject.Add(function(player, layer, x, y){
});
// 플레이어가 키 값을 가진 오브젝트를 공격할 때 (Z키) 호출 되는 이벤트
App.onAppObjectAttacked.Add(function (sender, x, y, layer, key) {
});onSay
플레이어가 채팅을 입력할 때 동작합니다.
파라미터
player
Player
player 파라미터는 채팅을 입력한 플레이어를 가르킴 player 파라미터의 이름은 임의로 변경 가능
text
String
text는 입력한 채팅 내용을 가르킴 text 파라미터의 이름은 임의로 변경 가능
예제
초성퀴즈 - 채팅으로 정답 맞추는 기능 만들어보기
onPlayerTouched
캐릭터들끼리 충돌할 때 동작합니다.
파라미터
sender
Player
sender는 부딪힌 주체자를 가르킴
target
String
target은 부딪힘을 당한 플레이어를 가르킴
x, y
Number
x, y는 충돌한 x, y 좌표를 가르킴
sender, target, x, y 파라미터의 이름은 임의로 변경 가능
예제
캐릭터끼리 부딪힐 때 메시지 출력해보기
onObjectTouched
캐릭터가 오브젝트와 충돌 또는 상호작용 할 때 한 번 실행됩니다.
파라미터
sender
Player
sender는 오브젝트와 부딪힌 플레이어를 가르킴
x, y
Number
오브젝트와충돌한 x, y 좌표를 가르킴
tileID
Number
오브젝트의 타일 ID 입니다.
obj
Object
오브젝트 객체
예제
⭐ overlap: true 속성이 없는 오브젝트는 충돌해도 함수가 실행되지 않습니다.
onAppObjectTouched
️ 캐릭터가 키 값을 가진 오브젝트와 충돌할 때 동작합니다.
파라미터
sender
Player
sender는 오브젝트와 부딪힌 플레이어를 가르킴
key
String
오브젝트의 Key 값
x, y
Number
x, y는 충돌한 x, y 좌표를 가르킴
예제
라벨 출력 예제
⭐ overlap: true 속성이 없는 오브젝트는 충돌해도 함수가 실행되지 않습니다.
onUnitAttacked
플레이어가 공격 키(Z)로 다른 캐릭터를 공격할 때 동작합니다.
파라미터
sender
Player
sender는 공격한 플레이어를 가르킴
x, y
Number
x, y는 공격한 플레이어의 x, y 좌표 값을 가르킴
target
Player
target은 공격 받은 플레이어를 가르킴
sender, x, y, target 파라미터의 이름은 임의로 변경 가능
예제
플레이어를 공격 할 때 메시지 출력해보기
onObjectAttacked
플레이어가 공격 키(Z)로 오브젝트를 공격할 때 동작합니다.
파라미터
sender
Player
sender는 공격한 플레이어를 가르킴
x, y
Number
x, y는 오브젝트의 x, y 좌표 값을 가르킴
sender, x, y 파라미터의 이름은 임의로 변경 가능
예제
오브젝트를 공격할 때 메시지 출력해보기
⭐ overlap: true 속성이 없는 오브젝트는 공격해도 함수가 실행되지 않습니다.
onSidebarTouched
플레이어가 사이드바 앱을 클릭(터치) 할 때 동작합니다.
파라미터
player
Player
사이드바 앱을 클릭한 player를 가르킴
예제
사이드바 앱 클릭 시 채팅창 메시지 출력하기.
관련 페이지
onTriggerObject
오브젝트와 F 상호작용 시 동작하는 함수를 작성할 수 있습니다.
맵에디터로 설치한 오브젝트 또는 스크립트에서 type을 INTERACTION_WITH_ZEPSCRIPTS(21)로 설치한 오브젝트와 상호작용 시 동작합니다.
파라미터
player
Player
오브젝트와 상호작용한 player를 가르킴
layerID
Number
오브젝트가 설치된 레이어 ID 오브젝트인 경우 layerID = 3 상단 오브젝트인 경우 layerID = 5
x, y
Number
상호작용한 오브젝트의 x, y 좌표
key
String
상호작용한 오브젝트의 key 값
예제
오브젝트와 F 상호작용시 메시지 출력하기

onAppObjectAttacked
플레이어가 공격 키(Z)로 키 값을 가진 오브젝트를 공격할 때 동작합니다.
관련 문서: 오브젝트 npcProperty
파라미터
sender
Player
sender는 공격한 플레이어를 가르킴
x, y
Number
x, y는 오브젝트의 x, y 좌표 값을 가르킴
layer
Number
오브젝트가 설치된 레이어
key
String
공격한 오브젝트의 키 값
예제
키 값을 가진 오브젝트를 공격할 때 메시지 출력해보기

⭐ collide: true 속성이 없는 키 값 오브젝트는 공격해도 함수가 실행되지 않습니다.
관련 페이지
Last updated
Was this helpful?