与其从 ServerScriptService 运行脚本,不如将脚本附加到部件上。例如,使用脚本将部件变成陷阱,或使部件在玩家触碰时给予积分。通过理解脚本和部件在层次结构中的关系,您可以创建一个自动工作的脚本,而无需指定使用哪个部件。
要做到这一点,您必须理解 父子关系。
父母和孩子是描述不同对象之间层次结构的方式。每当您向 Workspace 添加新部件时,Workspace 就是父对象,而该部件成为子对象。当您将脚本添加到 ServerScriptService 时,ServerScriptService 是父对象,而脚本是新的子对象。
设置项目和脚本
为了演示父子关系,您将从一个改变颜色的单一部件开始,然后将脚本复制到多个部件上。
创建一个新部件并重命名。此课程将使用 ColorPart。
右键单击 部件,选择 插入对象 ⟩ 新脚本。将脚本重命名为 ColorChanger。

将下面的代码复制并粘贴到 ColorChanger 中。此版本的代码与您之前使用的相同。它将特定部件分配给一个变量。
更改 ColorPart 的颜色local Workspace = game:GetService("Workspace")local colorPart = Workspace.ColorPartcolorPart.Color = Color3.fromRGB(50, 240, 255)测试并检查部件是否按预期更改颜色。
父子关系
父对象是任何附加在其下方的对象,如脚本或部件。任何在父对象下的对象都是其 子对象。在下面的示例中,ColorPart 是父对象,而 ColorChanger 是子对象。

使用当前脚本,您只能更改名为 ColorPart 的 单个部件 的颜色。要更改任何部件的颜色,您可以设计代码以在脚本的父对象上工作,无论它的名称是什么。代码 script.Parent 将向上查找层次结构并找到脚本附加的对象。
使用 script.Parent
script.Parent 可以像其他值一样使用 = 符号分配给一个变量。
在脚本中,将命名的部件替换为 script.Parent。检查您的代码如下。
更改父对象的颜色local colorPart = script.ParentcolorPart.Color = Color3.fromRGB(50, 240, 255)
测试可重用部件
现在变量将引用脚本附加到的任何部件,您可以根据需要制作任意数量的副本。
右键单击颜色部件并选择复制,或使用快捷键 CtrlD (⌘D)。总共创建至少三个部件。
运行游戏以检查所有部件是否更改颜色。
总结
与其总是通过名称和位置直接引用部件,不如使用 script.Parent 作为替代。该代码将获取脚本附加的父对象,从而让脚本对其进行修改。使用 script.Parent 这样的代码将对使您的代码可重用非常有帮助。需要记住的一个缺点是,如果您想更改代码,现在有多个脚本需要更新。