ClientEventCallBack
格式
ClientEventCallBack(eventName,PlayerId, ...)
- 事件
- 所属对象:MessageEvent
不推荐使用
只有服务器脚本可访问
简介
客户端接收消息后执行方法。
推荐通过EventObject
来调用
相关链接
- 教学视频
https://creator.reworlder.com/tutorials 进阶课程第一章课时8
参数
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
eventName | string | 传递事件的名称 | |
… | 可变… | 事件传递的参数 |
实例
实例1 玩家碰触零件时,在该玩家的客户端界面下显示玩家名称
将下面客户端脚本复制到客户端预加载下,脚本功能为新建文本控件显示玩家的名称。
MessageEvent.ClientEventCallBack("显示UI"):Connect(function(showname) --当服务器向客户端发送名为“显示UI”的信息时触发
local person = Players:GetLocalPlayer()--获取玩家
local uipanel = RWObject:New("UiPanel") -- 创建2d容器
local uitxt = RWObject:New("UiText") -- 创建文本
uipanel.Parent = person.GameUI -- 把容器的父级设置成玩家界面
uitxt.Text = showname--文本为接收到的玩家名
uitxt.Parent = uipanel --将创建的文本的父级设置成新创建容器
DelayDestroy(uipanel,2) --2秒后销毁ui容器
end)
服务器脚本,功能为创建零件并在玩家触碰时给对应玩家的客户端发送消息。
local workSpace = GetService("WorkSpace") --获取工作区服务
local new = RWObject:New("Part") --创建新零件信息
new.Position = Vector3.New(1,1,1) --设置新零件的位置
new.Parent = workSpace --在工作区下创建该零件
new.CollisionEnter:Connect(function(plr) --在零件上添加碰撞事件:若碰撞零件的对象为玩家,则向客户端发送消息
if plr:IsClass("Avatar") then
local uid = plr.PlayerId
local showname = plr.Name
MessageEvent.FireClient(uid,"显示UI",showname) --向触碰的玩家客户端发送名为“显示UI”的消息,参数为玩家名
end
end)
文档更新时间: 2020-09-05 15:49 作者:王辰剑