清·圆
发布于

节点简介原创

节点

节点

节点是构成沙盒世界的基本单位。世界中的玩家生物镜头音效脚本服务等都是节点。

节点列表

在沙盒世界中的每个元素(玩家、生物、方块、道具,以及每个玩家显示的界面、界面上的元件、玩家的镜头)都是节点。每个节点代表一个元素,例如一个玩家节点代表一个玩家,一个模型节点代表一个模型等。节点分很多种类型(无论抽象还是形象的类型),例如玩家和模型就是两种不同的类型,这两种类型分别代表不同在沙盒世界里的元素。

获取节点

获取节点可以在节点列表窗口中找到已经存在的节点,也可以在脚本中获取节点。

节点在脚本中则化为对象(Lua语言中的表)。我们可以直接使用game(GameNode类)、script(Script类)全局变量来获取节点,也可以通过索引来获取子节点,还可以通过节点名称来获取节点。

--使用GameNode:getService()获取节点
local world = game:getService("WorkSpace")
--使用索引直接获取节点
local world = game.WorkSpace
--使用Parent获取父节点
local world = script.Parent
--使用Children获取子节点
local actor = script.Children[1]
--使用SandboxNode:FindFirstChild()获取节点
local actor = script:FindFirstChild("Actor")

创建节点

节点列表中有一些默认存在的节点,我们既可以从这些默认节点中创建节点,也可以在脚本中使用SandboxNode.new(classType, ?parent)创建节点。

若要创建节点,可以点击WorkSpace后的加号后选择其中一种节点类型:

在WorkSpace中创建节点

也可以在WorkSpace中使用SandboxNode.New(classType, ?parent)新建一个Script节点:

--新建一个Node类型的节点,设置WorlkSpace为它的父节点
SandboxNode.New("SandboxNode",game.Workspace)

注意:用脚本创建的节点只能在MiniStudio中点击“调试运行”后才可以创建,创建后可以在节点列表中找到创建的节点。

若要创建其它节点,请参阅类索引

删除节点

若要删除节点,可以在节点列表中右键点击需要删除的节点,然后选择“删除”;也可以使用脚本删除:

--删除node节点
node:destory()

属性

预设属性

每个节点都有与节点功能相关的预设属性。

若要获取、查看属性,可以在属性列表中查看,也可以使用脚本获取:

--获取node节点的Name属性
print(node.Name)

若要更改属性,可以在属性列表中更改,也可以使用脚本更改:

--设置node节点的名称为MyName
node.Name = "MyName"

若要更改其它属性,请参阅类索引

自定义属性

若要添加自定义属性,需在属性面板中点击Custom Property添加属性。

若要更改属性,可以在属性面板中直接更改,也可以使用脚本中的SandboxNode:SetAttribute(attr, value)更改:

--更改node节点的ExtraTag1属性为true
node:SetAttribute("ExtraTag1", true)

一些类型的节点

WorkSpace

所有沙盒世界中的场景都在WorkSpace节点下,不在此节点下的场景均不会在世界中出现。

若要在世界中创建对象,可以在节点列表中添加节点,也可以在脚本中添加:

--新建一个Actor节点,设置WorlkSpace为它的父节点
local actor = SandboxNode.New("Actor",game.Workspace)
--设置此节点在节点列表中显示的名称
actor.Name = "MyActor"
--设置此生物的位置
actor.Position = Vector3.New(11654,460,-11510)
--设置此生物的模型ID
actor.ModelId = "sandboxSysId://entity/100011/body.omod"

Player

玩家节点,其中Backpack表示当前玩家的背包,StarterPlayerScripts表示玩家本地脚本,PlayerGui表示玩家当前显示的界面。

StarterPack

起始背包,运行后会自动复制到玩家的Backpack节点下。

StartPlayer

玩家初始设置,运行后会复制到玩家节点下。

StartPlayer->StarterPlayerScripts

玩家本地脚本,运行后会自动复制到玩家的StarterPlayerScripts节点下。

StartGui

起始界面,运行后会自动复制到玩家的PlayerGui节点下。

精华
浏览 (339)
点赞 (8)
收藏
3条评论
—很空虚—
—很空虚—
大佬😘
点赞 1
评论
清·圆
清·圆
改了一下看起来好点了😂
点赞 2
评论
清·圆
清·圆
写的有点不好😱下次重写
点赞
评论
薪火漫游
快去写
点赞
评论