퀵채팅
ZepetoWorldContent API의 QuickMessage 관련 기능을 사용하여 월드 내에서 메시지를 보내고 받을 수 있는 기능을 구현할 수 있습니다.

- 이 기능은 멀티플레이 요소가 구현된 월드에서 사용할 수 있습니다.
QuickMessage 기능을 사용하려면 다음과 같이 import 문을 작성해야 합니다.
import { ZepetoWorldContent, WorldMultiplayChatContent, QuickMessage } from 'ZEPETO.World';
ZepetoWorldContent API는 다음과 같은 QuickMessage 관련 기능을 제공합니다.
API | 설명 |
|---|---|
ZepetoWorldContent.GetQuickMessageList($onComplete: System.Action$1<QuickMessage[]>, $onError: System.Action$1) | 현재 월드의 QuickMessage 목록을 가져옵니다. (장치의 언어에 해당하는 import입니다.) |
아래와 같이 코드를 사용할 수 있습니다.
ZepetoWorldContent.GetQuickMessageList(quickMessageList: QuickMessage[] => {
// QuickMessage 처리
}, err => {
});
WorldMultiplayChatContent API는 다중 플레이어에서 QuickMessage 동기화를 가능하게 합니다.
아래의 기능을 사용할 때, 채팅 메시지가 전송되고 채팅 창에 출력됩니다. 또한, ZepetoPlayers에서 BubbleChat을 활성화하면 앱에서 말풍선이 나타나는 것을 볼 수 있습니다.
API | 설명 |
|---|---|
SendQuickMessage($quickId: string):void; | 다중 플레이어 서버에 입력된 quickId 메시지를 전송합니다. |
❗️ 주의 quickId의 값이 기존 QuickMessage 목록과 다르면 전송되지 않습니다.
QuickMessage 클래스는 다음 구성 요소로 이루어져 있습니다:
class QuickMessage extends System.Object {
public id: string;
public message: string;
}
다음은 QuickMessage 기능의 함수를 사용하는 전체 예제 코드입니다.
import { Button } from 'UnityEngine.UI';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { ZepetoWorldContent, WorldMultiplayChatContent, QuickMessage } from 'ZEPETO.World';
export default class QuickChat extends ZepetoScriptBehaviour {
public quickChatBtn: Button;
Start() {
ZepetoWorldContent.GetQuickMessageList(quickMessageList => {
quickMessageList.forEach((quickMessage: QuickMessage, index: number, array: QuickMessage[]) => {
console.log(`id = ${quickMessage.id}, message = ${quickMessage.message}`);
});
}, err => {
console.log(`QuickMessage Error: ${err}`);
});
// "안녕" 메시지 전송
this.quickChatBtn.onClick.AddListener(() => {
this.OnClickQuickMessageButton("zw_quickchat_preset_001");
});
}
private OnClickQuickMessageButton(quickId: string) {
WorldMultiplayChatContent.instance.SendQuickMessage(quickId);
}
}