本文概述
GameObject具有使它们以某种方式运行的组件。当提到组件时, 我们指的是GameObject的可用功能, 例如, 人体具有许多功能, 例如移动, 进食, 交谈和观察。现在让我们说我们希望人体运动更快。这意味着运动功能与该动作相关。因此, 要使人体运动更快, 我们需要创建一个可以访问运动组件的脚本, 然后使用该脚本使人体运动更快。
就像现实生活中一样, 不同的GameObject也可以具有不同的组件。例如, 只能从摄像机访问摄像机组件。 Unity的程序员已经创建了许多组件, 但是我们也可以创建自己的组件。
这意味着我们在”检查器”选项卡中看到的所有属性只是某种类型的变量。它们只是存储将由某些功能使用的数据。
公共变量
如果将公共放在变量声明的开头, 则意味着该变量将可见且可访问。它会在”检查器”面板中显示为属性, 以便你可以更改存储在变量中的值。
例:
public int num = 10;
私有变量
并非所有变量都必须公开。如果不需要在”检查器”面板中更改变量或从其他脚本访问变量。
例:
private int myNum = 2;
例子
让我们创建一个名为myTest.cs的脚本, 它具有一个int变量:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class myTest : MonoBehaviour
{
int num = 24;
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
现在创建一个GameObject(从顶部菜单GameObject-> Create Empty)并将myTest.cs脚本文件添加到GameObject(在新创建的GameObject的”检查器”面板中)。现在它将在GameObject的Inspector中查看:
在这里, 我们可以看到它具有myTest.cs脚本文件, 但根本没有num变量。
让我们通过添加一个新变量来修改脚本, 但是这次使用公共前缀。在编程语言中, 公众意味着该值也可以被其他类看到。在Unity中, 公共也意味着该变量将显示在检查器中。
修改后的myTest.cs脚本为:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class myTest : MonoBehaviour
{
int num = 24;
public string name;
void Start()
{
Debug.Log("My name is " + name);
}
// Update is called once per frame
void Update()
{
}
}
就像其他组件通常具有在”检查器”面板中可编辑的属性一样, 我们也可以允许从”检查器”中编辑脚本中的值。
输入变量名称的值, 然后按播放。你将看到该消息包括你输入的文本。
因此, 在Unity中, 你必须将变量声明为public才能在Inspector中看到它。
评论前必须登录!
注册