CREATE YOUR WORLD
Scripting

UnityEvent

4min
유니티는 사용자가 c# 이벤트와 델리게이트를 더 쉽게 사용할 수 있도록 unityevents를 제공합니다 unityevents는 서로 다른 객체에서 인수를 전달하거나 특정 요구 사항이 충족될 때 메시지를 전달하는 방법입니다 zepetoscript에서 unityevent를 사용하려면 다음 형식으로 선언해야 합니다 먼저, unityevent 클래스를 사용하기 위해 아래와 같이 import 명령을 추가합니다 typescript import { unityevent } from 'unityengine events'; unityevent의 샘플 결합 코드를 참조하세요 event import { zepetoscriptbehaviour } from 'zepeto script'; import { unityevent } from 'unityengine events'; import { button } from 'unityengine ui'; export default class event extends zepetoscriptbehaviour { public btn button; private mevent unityevent; start() { // unityevent의 새 인스턴스를 생성하고 mevent에 할당합니다 this mevent = new unityevent(); // mevent에 새 리스너를 추가합니다 이 리스너는 mevent가 호출될 때 ping 메소드를 실행합니다 this mevent addlistener(() => this ping()); // 버튼이 클릭되었는지 확인하고 mevent가 null이 아닌지 확인합니다 this btn onclick addlistener(() => { if (this mevent != null) { // 위 조건이 참이면 mevent를 호출합니다 this mevent invoke(); } }); } ping() { console log('ping'); } } 스크립트 설명 위의 예에서, ‘mevent’라는 unityevent는 버튼이 눌릴 때마다 호출되며, ‘mevent’가 호출될 때 ‘ping’ 메소드를 실행합니다 따라서 버튼이 눌릴 때마다 'ping'이라는 메시지가 콘솔에 출력됩니다 연결하려는 이벤트에 매개변수가 있는 경우, 아래와 같이 unityevent 가져오기 명령을 추가해야 합니다 typescript import { unityevent$1 } from 'unityengine events'; 👍 팁 unityevent$1은 unityevent의 일반 버전입니다 예를 들어, 정수 값을 수용하는 이벤트를 만들고 싶다면, unityevent$1\<int> unityevent$1의 매개변수 유형은 c#을 따릅니다 매개변수를 사용하여 unityevent$1을 사용할 때의 샘플 코드는 다음과 같습니다 event import { zepetoscriptbehaviour } from 'zepeto script'; import { unityevent$1 } from 'unityengine events'; import { input } from 'unityengine'; export default class event extends zepetoscriptbehaviour { private meventint unityevent$1\<int>; private countnum number; start() { this meventint = new unityevent$1\<int>(); this meventint addlistener(num => this count(num)); this countnum = 0; } update() { if ((input anykeydown) && (this meventint != null)) { this meventint invoke(this countnum); ++this countnum; if (this countnum > 100) { this countnum = 0; } } } count(num) { console log(`count ${num}`); } } 아래 링크를 클릭하여 unityevents에 대해 더 알아볼 수 있습니다 📘 unityevents https //docs unity3d com/kr/530/scriptreference/events unityevent html https //docs unity3d com/kr/530/scriptreference/events unityevent html