创造你的世界
聊天

自定义发送和接收聊天消息

11
您可以通过导入 zepeto chat 包来自定义您发送和接收的聊天消息。 ❗️ 注意 此功能在实现了多人元素的世界中可用。 👍 参考要点 您可以在编辑器环境中发送/接收聊天。 只有通过处理程序创建的用户聊天消息可以发送/接收(快速聊天、系统消息无法接收) 功能定义 class zepetochat extends system object { public static get instance() zepetochatimplementation; public static get onreceivedmessage() unityengine events unityevent$1\<imessage>; public constructor(); public static send($message string) void; } zepetochat。您可以使用 send() 将特定消息发送到聊天窗口。 您可以使用 zepetochat onreceivedmessage addlistener() 来确定接收哪个事件的消息。 使用示例 按下按钮1和2以发送指定消息。 在输入框中创建自定义消息以发送该消息。 import { zepetoscriptbehaviour } from 'zepeto script'; import { button, inputfield, text } from 'unityengine ui'; import { zepetochat, messagetype, usermessage } from 'zepeto chat'; import { color } from 'unityengine'; export default class customchat extends zepetoscriptbehaviour { public custom1chatbtn button; public custom2chatbtn button; public sendchatbtn button; public resulttext text; public inputchatbox inputfield; start() { // 当按钮被点击时 this custom1chatbtn onclick addlistener(() => { // 更改文本颜色 this resulttext color = color magenta; // 发送消息 zepetochat send("1"); }); this custom2chatbtn onclick addlistener(() => { this resulttext color = color blue; zepetochat send("2"); }); this sendchatbtn onclick addlistener(() => { this resulttext color = color black; const inputmsg = this inputchatbox text; zepetochat send(inputmsg); }); // 接收消息 zepetochat onreceivedmessage addlistener(msg => { const usermsg = msg as usermessage; this resulttext text = `\[用户 ${usermsg username}] ${usermsg message}`; }); } } 启用/禁用聊天按钮 在一个实现了多人元素的世界中可用的功能。 您可以在移动测试中检查。 声明 public static setactivechatui($value boolean) void; 示例代码 按下特定按钮以切换聊天按钮的启用/禁用状态 import { zepetoscriptbehaviour } from 'zepeto script'; import { button } from 'unityengine ui'; import { zepetochat, messagetype, usermessage } from 'zepeto chat'; export default class chatcontroller extends zepetoscriptbehaviour { public chatuibtn button; private ischatuiactive boolean = true; start() { // 当按钮被点击时 this chatuibtn onclick addlistener(() => { // 发送消息 if (this ischatuiactive) { zepetochat setactivechatui(false); this ischatuiactive = false; console log("聊天 ui 已禁用"); } else { zepetochat setactivechatui(true); this ischatuiactive = true; console log("聊天 ui 已启用"); } }); } } 确定过滤消息 在一个实现了多人元素的世界中可用的功能。 您可以在移动测试中检查。 声明 public isfiltered boolean; 示例代码 确定接收到的聊天消息是否为过滤消息,并在屏幕上打印出来。 import { zepetoscriptbehaviour } from 'zepeto script'; import { text } from 'unityengine ui'; import { zepetochat, messagetype, usermessage } from 'zepeto chat'; export default class chatcontroller extends zepetoscriptbehaviour { public filterresulttext text; start() { // 接收消息 zepetochat onreceivedmessage addlistener(msg => { const usermsg = msg as usermessage; if (usermsg isfiltered) { this filterresulttext text = `此消息已被过滤 ${usermsg message}`; } else { this filterresulttext text = `此消息未被过滤 ${usermsg message}`; } }); } }