美文网首页
了解Unity的Inspector中的组件属性

了解Unity的Inspector中的组件属性

作者: 这双鞋好贵 | 来源:发表于2015-03-24 21:51 被阅读2684次

了解Unity的Inspector中的组件属性

游戏对象通常含有许多组件来保证它做出正确的表现。比如,选择Main Camera并注意Inspector面板。其中的一个组件就是Camera。如果他没有这个组件,他就会丧失作为摄像头的功能。它仍然会作为一个游戏对象存在在你的场景中,但是它不再有摄像头的功能了。

变量成为了组件的属性

任何游戏对象内的组件只不过是用来定义一个类的代码,无论你或者Unity是否亲手写了代码。我们只不过没有去修改这些Unity内置代码的权限。这意味着我们在Inspector中看到的属性只不过是一些变量而已。他们仍然存放着一些数据并等待着方法的调用。

Unity略微地改变着代码文件和变量的名称

当我们将我们的代码文件添加到游戏对象中时,我们的代码在Inspector中看起来就是一个组件。Unity只对他们做了一些细小的改动。你也许注意到了当我们向Main Camera内添加LearningScript的时候,Unity会将它以Learning Script的命名放在Inspector面板里。Unity会在文件名称的中间加一个空格来分开两个单词,同样,在变量名中也会出现同样的现象。注意变量number1他会被显示为Number 1,并且number2也同样会被显示为Number 2。Unity同样会将首字母大写,以此来改变Inspector中的可读性。

在Inspector面板中修改属性的值

你会在以下两种情境中修改属性的值

  • Play模式下
  • 在开发模式下

当你在Play模式下的时候,你的修改会立即被执行,这对你调试和想要看到结果的时候是非常有利的。

当你在Play模式下,你将会立即看到更改的效果。这对你调试和想要看到结果的时候是非常有利的。但是你需要记下来你的所有修改,应为当你停止Play模式的时候,你的修改并不会被保存下来

当你在开发模式下,你对属性所做的修改都会被Unity保存下来。这意味着如果你退出Unity并再次启动它,这些修改仍然会被保留下来。当然,直至你点击Play之前,你并不会看到你修改的结果。

你在Inspector面板中对属性值所做的修改并不会切实影响你的代码。改变你代码文件的唯一途径就是去开发工具里面直接编辑代码。你在Inspector面板中对值做的任何改变你也需要在代码中实现它们。

如果你想要去除你在Inspector面板中所做的修改,你可以将他们重置回你在代码中设定的值。点击你代码组件最右侧的齿轮图标,并选择弹出菜单中的Reset选项。

将变量列在Inspector面板中

我确定你现在纠结于变量声明语句开头的public是什么意思:

public int number1 = 2;

这意味着这个变量将是可见并且容易得到的。他将会以属性的形式显示在Inspector面板中,所以你可以操作这个变量中存放的值。这也意味着它可以通过点句法来使其他代码可以方便的调用它。你将会在第六章中学到关于点句法的更多知识。

动手时间

并不是所有的变量都要是public的。如果变量并不需要在Inspector面板中显示或者并不希望被其他代码调用,他也不会去让场景中的Inspector被杂乱的属性所充斥。在LearningScript中,做以下几步:

  1. 将第六行改为:

    private int number1 = 2;

  2. 将第七行改为:

    int number2 = 9;

  3. 保存文件

  4. 在Unity中选择Main Camera

发生了什么?

你将会注意到,Inspector面板中的属性,Number 1Number 2都不见了

  • 第六行:private int number1 = 2;
    前面的单词明确地生命变量是private,所以他不再会作为属性出现在Inspector面板中,现在他是一个私有的变量并存储数据。
  • 第七行:int number2 = 9;
    这个变量也变得不可见了,但是你并没有明确地生命他是private

如果你变量是否是publicprivate感到疑惑,那么,变量是private的。

明确声明变量究竟是public还是private是一个好习惯。

所以现在当你点击Play时,代码就像之前定义的一样运行了。只不过你现在没法再在Inspector面板中操作它们了。

相关文章

网友评论

      本文标题:了解Unity的Inspector中的组件属性

      本文链接:https://www.haomeiwen.com/subject/kapgxttx.html