中级教程

创建玩家工具

*此内容使用人工智能(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 中有效,因为只有玩家的设备知道何时发生输入,例如鼠标按钮被点击或屏幕被触摸。

添加声音

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

  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 是我们在美国及其他国家或地区的注册与未注册商标。