‫我们会回来的｡
‫在本视频中, 我们将了解一下新的行为脚本, 即我们在上一个视频中创建的脚本｡
‫如果您想自己创建脚本, 您可以在资源中单击鼠标右键, 创建并单击C-sharp脚本｡
‫创建脚本的另一种方法是, 例如, 单击您的游戏对象之一, 例如立方体｡
‫然后加入元件｡
‫在右侧, 您可以创建一个新脚本｡
‫您可以在此添加名称､ 新的行为脚本, 还可以在此选择语言｡
‫如果你想用JavaScript编程, 你也可以在这里选择, 然后简单地创建和添加,
‫它就会被添加到你的assets文件夹中｡
‫但我不会这样做, 因为我已经有了剧本｡
‫让我们打开这个脚本｡
‫通常, 如果我们双击它, 它会在我们的IDE中打开, 例如,
‫在Visual Studio中, 它也可以在mono develop中打开, 如果您使用它, 或者在任何其他支持C-sharp和Unity的IDE中打开｡
‫但是, 我强烈建议您使用Visual Studio｡
‫好吧, 我会的
‫让我们来看看这个新的行为脚本, 因为我们已经有16行代码了, 尽管我们还没有写任何一行代码,
‫甚至还没有写任何一个符号｡
‫所以我们这里有三行using, 这意味着我们使用的是一个命名空间｡
‫你可以考虑这些模块, 或者你可以想象这些模块为你的脚本添加了一系列的功能,
‫这些模块允许我们使用这些功能｡
‫所以我们目前没有使用它, 因为我们也没有使用任何这些｡
‫正如您所看到的, 它们是灰色的,
‫但我们正在使用Unity引擎的一些功能, 我们在单声道行为中这样做, 因为单声道行为是Unity引擎中的一个类｡
‫如果您想了解更多关于单声道行为, 您可以做的是按住您的命令键, 并按下单声道行为｡
‫它的作用是打开程序集浏览器, 然后你会在这里找到关于这个类的信息,
‫这个类有很多代码, 对于初学者来说可能有点多, 但是如果你已经知道编程, 你可能会理解它｡
‫最后, 有很多方法, 我们可以用在我们的游戏或我们的脚本一般.
‫好吧, 我会的
‫这是什么情况？
‫我们有一个公共类, 叫做新行为脚本Colon, mono behavior｡
‫这个冒号意味着我们从mono behavior继承而来, 这意味着我们可以使用mono behavior的功能｡
‫我们有这个类的行为, 这个类是单声道行为｡
‫所以在这些东西里面, 有一个已经存在的start和update方法｡
‫因此, 我们不需要编写调用start方法或update方法的确切时间｡
‫这一切都在我们的Unity引擎命名空间中完成｡
‫所有这些都写在上面了｡
‫我们不需要编写代码｡
‫所以现在我们可以让它变得超级简单｡
‫我们可以简单地说, 好吧, 我们想在start方法被调用时做些什么,
‫然后我们想在update方法被调用时做些什么｡
‫所以这两个方法, 它们在一个类中, 这就是类的一般构建方式｡
‫它们有变量, 有方法, 我们可以创建自己的变量｡
‫我们将在下一个视频中这样做, 我们可以创建自己的方法, 也可以使用已经在内部创建的方法｡
‫因此, 我们不需要自己构建它们, 我们只需要调用它们, 或者我们可以覆盖它们来创建我们自己的｡
‫但所有这些都将在我们到达那里后尽快涵盖｡
‫现在重要的是, 我们自动创建一个类, 它自动包含两个方法,
‫我们可以选择删除或者使用它们.
‫让我们快速了解一下它们的作用｡
‫例如, 让我们写, 我们有打印语句到我们的控制台｡
‫例如, 我们说start方法被调用, 在update方法中我们做同样的事情｡
‫已调用打印更新方法｡
‫因此现在我们将知道在统一内在我们的控制台内, 我们将得到关于什么时候被调用的信息｡
‫那么, start方法是在哪一点调用的, update方法是在什么时候调用的呢？
‫这两种方法的作用是什么？
‫START方法在开始时被调用, 当包含我们的新行为脚本的游戏对象被创建时,
‫然后update方法在每一帧被调用｡
‫因此, 只要对象在那里, 更新方法就会一直被调用,
‫每帧一次, 这意味着, 例如, 如果我们有每秒60帧, 那么这个更新方法将被调用60次｡
‫一秒之内｡
‫好吧, 我会的
‫在我们继续之前先看看这个｡
‫所以让我们保存该脚本｡
‫现在让我们转到Unity｡
‫如果我们现在这样运行代码, 控制台上将不会打印任何内容｡
‫如你所见, 也许我最好不要在这里发挥最大作用｡
‫我们再来一遍｡
‫转到我们的控制台, 您可以看到没有发生任何事情｡
‫例如, 如果我们现在将新的行为脚本添加到多维数据集中, 则不会打印任何信息｡
‫然后我们可以在右手边看到它｡
‫所以我点击了立方体, 在右边的检查器中, 我可以找到我的新行为脚本｡
‫例如, 我可以删除它, 也可以像这样拖动它｡
‫所以我加了一个像拖｡
‫再次卸下该组件｡
‫第三种方法是添加一个组件, 然后转到脚本, 再添加这个新的行为脚本｡
‫现在我们的立方体有了脚本｡
‫如果我们现在运行代码, 我们将看到一个不同的故事｡
‫现在我们转到控制台, 您可以看到start方法被调用时在末尾有一个1, 这意味着它被调用了一次,
‫而update方法被调用时已经被调用了500次｡
‫因此, 这意味着每一帧都调用了它｡
‫正如你们所看到的, 也许你们可以粗略估计一下每秒有多少帧, 应该是30或50帧左右｡
‫因此, 它被调用了很多次, 这就是你必须考虑的｡
‫因此,
‫无论何时在update方法中编写代码, 都不应是任何会加载许多信息或执行许多不同功能的繁重代码, 否则可能会降低游戏的性能｡
‫因此, 请保持update方法的轻量级, 并使用START方法进行初始化｡
‫当我们继续学习这门课的时候, 这意味着什么会变得更有意义｡
‫因此, 如果您不理解初始化的含义, 也不用担心｡
‫如果您不理解此print语句的含义, 也不用担心｡
‫最后, 它实际上只是用于编程服务｡
‫这真的只是为了让我们知道这一点, 让我们能够看到团结在一起发生了什么｡
‫这就是我们刚刚为自己写的｡
‫例如, 我们可以检查参与者的值｡
‫例如, 他有多少点, 或者他是否点击了按钮, 或者诸如此类的事情｡
‫这就是我们能用这个做的｡
‫还有两件事｡
‫我们还没有介绍的是两个正斜杠, 双斜杠表示这一行是一个注释｡
‫所以这个双斜线后面的所有内容都不会在游戏中被考虑｡
‫它不会被执行, 它不会做任何事情｡
‫它实际上只是为我们编写的, 这样我们就可以更好地阅读我们的代码｡
‫所以现在我们明白了｡
‫start方法用于初始化｡
‫每帧调用一次update方法｡
‫好吧, 很有帮助｡
‫好吧, 我会的
‫接下来我们用花括号来表示开始和结束｡
‫这是我们课程的开始, 这是我们课程的结束｡
‫与start方法相同｡
‫这是花括号open方法的开始这是花括号closes方法的结束.
‫当然, 在每个语句之后, 例如, 这个print语句, 我们需要有分号｡
‫好吧, 太好了｡
‫这些是我想给你们看的一些非常基本的东西｡
‫在下一个视频中, 我们将看看变量｡
‫如果你还没有理解你在这里看到的一切, 别担心, 你会得到一个更好的感觉｡