愉快的小强
发布于

不会用脚本控制节点属性?那还不进来看看原创

相信大家已经使用了一段时间的迷你世界studio,但是大家可能都有一个这样的疑问。那就是,我创建出来的节点,到底有什么用?应该怎么用?有这些疑问,说明你还不会用脚本来控制节点属性,不知道怎样实现出你想要的功能。那么这篇文章我就来简单介绍一下,如何用脚本来控制节点属性。

要想修改节点的属性,那么我们首先就应当获取到这个节点。那么节点应该怎么获取呢?最简单的方法,就是按照这个节点的路径来获取。

这里我提前在WorkSpace下面创建了一个Model节点方便演示

我们可以看到这里有一个Model节点,那么我们按照路径获取的话就是

game.WorkSpace.Model

当然了,我们应当把它保存进一个变量里,这样我们才能进行后续的操作。

ModelNode=game.WorkSpace.Model --ModelNode是一个储存着Model节点的变量
--这里的ModelNode只是一个变量名,符合Lua变量的命名规则就可以

这样我们就获取到了Model这个节点,并且我们把这个节点保存进了一个名字叫ModelNode的变量。

接下来我们先来看一看这个节点有什么属性。

上面这个便是Model节点的一部分属性,那我们来随便修改一个试试看。

这里我修改一下Color这个属性

我们可以发现这个模型,随着我们的修改发生了改变。

刚刚我们是直接通过属性列表来修改的,那么我们如何用脚本来修改这个模型的颜色呢?

我们可以直接用赋值符号,将这个模型的Color属性赋值为你想要的颜色。

ModelNode=game.WorkSpace.Model --ModelNode是一个储存着Model节点的变量
ModelNode.Color=ColorQuad.new(255,37,150,255)--修改Model节点的颜色

我们在节点列表里创建一个script节点,将刚刚这段代码运行一下试试看。(前提是和我一样提前创建了一个Model节点)

游戏运行之后,我们就成功的使用脚本将这个Model节点修改成了我们想要的颜色。

那么ColorQuad.new(),这个函数是用来做干什么的呢?

我们通过查询API文档后,可以知道,这个函数是用来构造储存颜色值的变量。

同理,我们想要修改这个模型的位置,便需要用到一个叫做Vector3的函数来构造一个变量。

ModelNode=game.WorkSpace.Model --ModelNode是一个储存着Model节点的变量
ModelNode.position=Vector3.new(100,100,100)--修改Model节点的位置

不过需要注意的是,String、int等一些lua内置的类型,是不需要使用构造函数的。比如说节点名称用到的是String类型,我们直接赋值便可以了。

ModelNode=game.WorkSpace.Model --ModelNode是一个储存着Model节点的变量
ModelNode.Name='Hello Miniworld'--修改Model节点的名称为 Hello Miniworld

运行游戏后,我们可以看到节点名称,成功地被修改为了Hello Miniworld

像这样,我们还可以修改这个节点的大小、旋转或者一些其他的属性。这里大家可以自己尝试。

不过,不知道大家有没有发现一个问题,就是我们刚刚的操作,似乎都和属性列表里的属性名对应着。

就比如说这个Color(颜色)属性,在脚本里编写的时候也是一样的。

ModelNode=game.WorkSpace.Model --ModelNode是一个储存着Model节点的变量
ModelNode.Color=ColorQuad.new(255,37,150,255)--修改Model节点的颜色

哈哈,那么恭喜你找到了节点属性列表的终极奥秘,那就是所见即所得。

任何的节点属性,都可以直接用这种方法修改,而不需要去查询API文档。因为API文档里面也是这样的,不信你看。

那个紫色的字体,便是节点的属性名称。而绿色的字体,便是这个属性的数据类型。

PS:第一次发布这种技术性的内容,如果哪里有错误,希望大家可以多多包涵。

精华
浏览 (309)
点赞 (19)
收藏
评论