ZEP Guidebook (KR)
Search…
⌃K

Event Listeners

소개

플레이어가 지정된 채팅을 입력하거나, 특정한 오브젝트를 공격할 와 같이 ZEP 스페이스에서 발생하는 특정 상황에 반응하여 동작하는 함수들 입니다.
이름
설명
onSay
플레이어가 채팅을 입력할 때 동작하는 함수입니다.
onPlayerTouched
캐릭터들끼리 충돌할 때 동작하는 함수입니다.
onObjectTouched
캐릭터가 오브젝트와 충돌할 때 동작하는 함수입니다.
onAppObjectTouched
캐릭터가 키 값을 가진 오브젝트와 충돌할 때 동작하는 함수입니다.
onUnitAttacked
공격 키(Z)로 다른 캐릭터를 공격할 때 동작하는 함수입니다.
onObjectAttacked
공격 키(Z)로 오브젝트를 공격할 때 동작하는 함수입니다.
onSidebarTouched
플레이어가 사이드바 앱을 클릭(터치)할 때 실행되는 함수입니다.

📚 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) {
});
// 플레이어가 키 값을 가진 오브젝트와 부딪혔을 때 호출 되는 이벤트
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){
});

onSay

App.onSay.Add(function(player, text){});
플레이어가 채팅을 입력할 때 동작합니다.
파라미터
이름
타입
설명
player
Player
player 파라미터는 채팅을 입력한 플레이어를 가르킴 player 파라미터의 이름은 임의로 변경 가능
text
String
text는 입력한 채팅 내용을 가르킴 text 파라미터의 이름은 임의로 변경 가능
예제
초성퀴즈 - 채팅으로 정답 맞추는 기능 만들어보기
_answer = "ZEP" // 정답
// 플레이어가 채팅을 칠 때 실행
App.onSay.add(function(player, text) {
if(_answer == text){
App.showCenterLabel(player.name + '님 정답!\n정답은 ' + _answer);
}
});

onPlayerTouched

App.onPlayerTouched.Add(function(sender, target, x, y){});
캐릭터들끼리 충돌할 때 동작합니다.
파라미터
이름
타입
설명
sender
Player
sender는 부딪힌 주체자를 가르킴
target
String
target은 부딪힘을 당한 플레이어를 가르킴
x, y
Number
x, y는 충돌한 x, y 좌표를 가르킴
sender, target, x, y 파라미터의 이름은 임의로 변경 가능
예제
캐릭터끼리 부딪힐 때 메시지 출력해보기
// 플레이어끼리 부딪힐 때 실행
App.onPlayerTouched.Add(function (sender, target, x, y) {
App.showCenterLabel(
`${sender.name}님과 ${target.name}님이 좌표: (${x}, ${y}) 에서 부딪혔습니다.`
);
});

onObjectTouched

App.onObjectTouched.Add(function(sender, x, y){});
캐릭터가 오브젝트와 충돌할 때 동작합니다.
파라미터
이름
타입
설명
sender
Player
sender는 오브젝트와 부딪힌 플레이어를 가르킴
x, y
Number
x, y는 충돌한 x, y 좌표를 가르킴
예제
overlap: true 속성이 없는 오브젝트는 충돌해도 함수가 실행되지 않습니다.
예제_onObjectTouched.zip
2KB
Binary
let testObject = App.loadSpritesheet("object.png");
App.onStart.Add(function () {
Map.putObject(5, 5, testObject, { overlap: true });
});
// 플레이어와 오브젝트가 부딪힐 때 실행
App.onObjectTouched.Add(function (sender, x, y, tileID) {
Map.putObject(x, y, null);
App.showCenterLabel(
`${sender.name}님이 좌표: (${x}, ${y}) 에서 오브젝트와 부딪혔습니다.`
);
});

onAppObjectTouched

App.onAppObjectTouched.Add(function(key, sender, x, y){});
️ 캐릭터가 키 값을 가진 오브젝트와 충돌할 때 동작합니다.
파라미터
이름
타입
설명
key
String
오브젝트의 Key 값
sender
Player
sender는 오브젝트와 부딪힌 플레이어를 가르킴
x, y
Number
x, y는 충돌한 x, y 좌표를 가르킴
예제
라벨 출력 예제
overlap: true 속성이 없는 오브젝트는 충돌해도 함수가 실행되지 않습니다.
예제_onAppObjectTouched.zip
29KB
Binary
let blueman_dance = App.loadSpritesheet(
"blueman.png",
48,
64,
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37],
8
);
// Q를 누르면 동작 하는 함수
App.addOnKeyDown(81, function (player) {
App.sayToAll("키 값을 가진 오브젝트 충돌 테스트");
Map.putObjectWithKey(8, 5, blueman_dance, { overlap: true, key: "blueman" });
});
App.onAppObjectTouched.Add(function (player, key, x, y) {
App.sayToAll(
`${player.name}이 키 값이 ${key}인 오브젝트와 ${x},${y}에서 충돌!`
);
});

onUnitAttacked

App.onUnitAttacked.Add(function(sender, x, y, target){});
플레이어가 공격 키(Z)로 다른 캐릭터를 공격할 때 동작합니다.
파라미터
이름
타입
설명
sender
Player
sender는 공격한 플레이어를 가르킴
x, y
Number
x, y는 공격한 플레이어의 x, y 좌표 값을 가르킴
target
Player
target은 공격 받은 플레이어를 가르킴
sender, x, y, target 파라미터의 이름은 임의로 변경 가능
예제
플레이어를 공격 할 때 메시지 출력해보기
// Z 키로 플레이어를 공격할 때 실행
App.onUnitAttacked.Add(function (sender, x, y, target) {
App.showCenterLabel(`${sender.name}님이 ${target.name}님을 공격했습니다.`);
App.sayToAll(`(${x}, ${y})`);
});

onObjectAttacked

App.onObjectAttacked.Add(function(sender, x, y){});
플레이어가 공격 키(Z)로 오브젝트를 공격할 때 동작합니다.
파라미터
이름
타입
설명
sender
Player
sender는 공격한 플레이어를 가르킴
x, y
Number
x, y는 오브젝트의 x, y 좌표 값을 가르킴
sender, x, y 파라미터의 이름은 임의로 변경 가능
예제
오브젝트를 공격할 때 메시지 출력해보기
overlap: true 속성이 없는 오브젝트는 공격해도 함수가 실행되지 않습니다.
예제_onObjectAttacked.zip
2KB
Binary
let testObject = App.loadSpritesheet("object.png");
App.onStart.Add(function () {
Map.putObject(5, 5, testObject, { overlap: true });
});
// Z 키로 오브젝트를 공격할 때 실행
App.onObjectAttacked.Add(function(sender, x, y){
App.showCenterLabel(
`${sender.name}님이 좌표: (${x}, ${y}) 에서 오브젝트를 공격했습니다.`
);
})

onSidebarTouched

App.onSidebarTouched.Add(function(player){});
플레이어가 사이드바 앱을 클릭(터치) 할 때 동작합니다.
파라미터
이름
타입
설명
player
Player
사이드바 앱을 클릭한 player를 가르킴
예제
사이드바 앱 클릭 시 채팅창 메시지 출력하기.
App.onSidebarTouched.Add(function (player) {
App.sayToAll(`${player.name}님이 사이드바 앱을 클릭했습니다.`)
});

관련 튜토리얼

Last modified 1mo ago