クイックチャット
4 分
ZepetoWorldContent APIのQuickMessage関連の機能を使用すると、世界内でメッセージを送受信する機能を実装できます。

- この機能は、マルチプレイヤー要素が実装されたワールドで利用可能です。
QuickMessage機能を使用するには、以下のようにインポート文を作成する必要があります。
import { ZepetoWorldContent, WorldMultiplayChatContent, QuickMessage } from 'ZEPETO.World';
ZepetoWorldContent APIは、以下のQuickMessage関連の機能を提供します。
API | 説明 |
|---|---|
ZepetoWorldContent.GetQuickMessageList($onComplete: System.Action$1<QuickMessage[]>, $onError: System.Action$1) | 現在のワールドのQuickMessageリストをインポートします。(デバイスの言語に対応するインポート。) |
以下のようにコードとして使用できます。
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}`);
});
// "Hi"メッセージを送信
this.quickChatBtn.onClick.AddListener(() => {
this.OnClickQuickMessageButton("zw_quickchat_preset_001");
});
}
private OnClickQuickMessageButton(quickId: string) {
WorldMultiplayChatContent.instance.SendQuickMessage(quickId);
}
}