中级教程

创建玩家工具

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

工具是管理玩家可以在手中持有并在游戏中使用的物品的简单方式。它们可以是从剑这样的武器到食物这样的物品。

在本教程中,您将学习如何创建一个激光炮形状的工具,当其装备或激活时将播放声音效果。

创建工具

Tool 对象是 Roblox 中任何工具的基础,因此您需要创建一个。通过在工作区中添加可见的对象(如 Parts 和 MeshParts)来更改工具的外观更为简单。

  1. 在工作区中插入一个 Tool 并将其命名为 Blaster

  2. 在工具中插入一个 MeshPart

  3. MeshId 属性设置为 rbxassetid://92656610

  4. TextureId 属性设置为 rbxassetid://92658105

  5. 工具需要一个名为 Handle 的部件供玩家持有。将 MeshPart 的名称更改为 Handle

存储工具

工具可以作为 可收集工具 保存在 3D 世界中,或者作为 启动工具 给予所有玩家。

可收集工具

激光炮目前是 Workspace 的子项,因此它是可收集的。玩家可以通过触碰工具来拾取它,使其成为角色模型的子项;然后工具将被装备并放置在热键栏中。

在游戏期间,未装备的工具会存放在玩家的背包层次结构中,然后在装备时移动到他们的角色模型。任何成为角色子项的工具将自动装备。

Tripmine 未装备
Tripmine 已装备

启动工具

将工具存储在 StarterPack 中将在玩家加入或重生时将其放置到玩家的 Backpack 中。

  1. Blaster 移动到 StarterPack 中的 Explorer

  2. 播放体验以测试工具。点击屏幕底部的热键栏或按 1 键装备工具。

工具属性

位置 / 方向

工具的位置和方向可以使用 grip 属性进行更改。GripPos 改变握持位置,而 GripForwardGripRightGripUp 影响旋转。

当前玩家握持激光炮的中心位置,而不是握持位置。

  1. 将工具的 GripPos 属性设置为 0, -0.4, 1.1

  2. 启动一次游戏测试以测试工具。注意工具现在处于不同的握持位置。

    之前
    之后

热键图标

默认情况下,工具的 名称 将显示在热键图标上。通常最好将图标更改为工具的图像。将工具的 TextureId 属性设置为 rbxassetid://92628145

之前
之后

工具提示

工具提示 是当鼠标悬停在热键上的工具时出现的小文本描述。它们通常包含工具的名称和/或其功能的简要描述。将 ToolTip 属性更改为 Blaster

使用脚本与工具

工具有三个关键事件可以连接:EquippedUnequippedActivated

事件描述
Equipped在工具被玩家装备时触发,例如当工具在热键中被选择时。
Unequipped在工具被玩家卸下时触发,例如当工具在热键中被取消选择时。
Activated在工具被玩家激活时触发,例如当玩家左键点击时。

这些方法仅在 LocalScripts 中有效,因为只有玩家的设备知道何时发生输入,例如鼠标按钮被点击或屏幕被触摸。

添加声音

要查看这些事件的效果,您可以在它们触发时播放声音。首先,您需要创建声音对象以供使用。

  1. Handle 中插入两个 Sound 对象。

  2. 将一个声音重命名为 Equip 并将其 SoundId 属性设置为 rbxassetid://282906960

  3. 将另一个声音重命名为 Activate 并将其 SoundId 属性设置为 rbxassetid://130113322

添加代码

以下示例代码在工具装备时播放 Equip 声音,在激活时播放 Fire 声音。

  1. 在工具中插入一个 LocalScript 并将其命名为 ToolController

  2. 在脚本中插入以下代码行。


    local tool = script.Parent
    local function toolEquipped()
    tool.Handle.Equip:Play()
    end
    local function toolActivated()
    tool.Handle.Activate:Play()
    end
    tool.Equipped:Connect(toolEquipped)
    tool.Activated:Connect(toolActivated)
  3. 通过装备和点击以激活工具来测试激光炮的声音效果。

现在您知道如何创建和编写一个基本工具,尝试创建其他简单工具,例如手电筒或扬声器。

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。