功能效果展示
功能应用
利用碰撞零件弹出UI的效果,我们可以在游戏中做一个提示面板,进行游戏的引导,也可以放在NPC脚下,当角色触碰到时弹出对话框,和NPC交流。
思路分析
想要实现碰撞零件弹出UI的效果,我们首先需要设计一个UI界面,然后在碰撞到零件后触发接触事件,利用事件对象将消息发送给客户端脚本,将UI界面的是否显示打开。
UI界面搭建
1、在 StarterGui 下添加 ScreenGui 并重命名为碰撞界面。在碰撞界面下创建一个 文本控件 ,重命名为提示,修改坐标和尺寸,如下图所示:
2、把碰撞界面的是否显示取消勾选
核心功能搭建过程
1、创建一个零件,在零件下创建一个 服务器脚本 ,并且在工作区创建一个事件对象。如下图所示:
编写 服务器脚本 如下:
local Part = script.Parent
local RemoteEvent = game.Workspace.RemoteEvent --获取事件对象
Part.Touched:Connect(function(avr) --创建零件碰撞
if avr and avr.Parent and avr.Parent:FindFirstChild(“Humanoid”) then --判断是否是角色碰撞到
local peason = game.Players:GetPlayerFromCharacter(avr.Parent)
RemoteEvent:FireClient(peason) --发送事件,弹出UI
end
end)
2、在客户端最先加载下创建一个 客户端脚本 。如下图所示:
编写 客户端脚本 如下:
local RemoteEvent = game.Workspace.RemoteEvent --获取事件对象
RemoteEvent.OnClientEvent:Connect(function(jubing_) --收到消息,弹出UI
game.Players.LocalPlayer.PlayerGui:WaitForChild(“碰撞界面”).Enabled = true
end)
3、教程结束