c#类的Unity问题

本文关键字:问题 Unity 类的 | 更新日期: 2023-09-27 17:50:31

我已经开始学习Unity,并且已经学习了用于web开发的JavaScript,所以我确实有一些编程经验。

在unity中编程时,我遇到了一些涉及类的事情,我不太明白。

1)当我编写代码作为一个统一对象的组件时,我将其写在如下所示的公共类中。(name Mover只是一个例子。)然而,我从来没有创建这个类的实例,所以这是如何工作的?我所看到的是正在创建的类。

using UnityEngine;
using System.Collections;
public class Mover : MonoBehaviour {
}

2)上面的代码中还显示了MonoBehaviour。我读了api,它说它是一个基类。我从未在JavaScript中遇到过这种情况。这意味着什么?它对类Mover有什么影响?

c#类的Unity问题

试试这个。

在Unity中打开你的项目,创建一个c#脚本,给它起任何你想要的名字。在场景中创建一个立方体。将此脚本拖放到对象上。打开脚本,您应该看到一个启动方法和一个更新方法。

类型Debug.Log("开始");在void Start()函数中,与void Update()方法相同,但将字符串更改为whatever。点击播放在统一和观看控制台。

你应该看到控制台打印的东西。

任何Monobehaviour的子元素都可以让你做很多我不打算在这里讨论的事情。

https://docs.unity3d.com/Documentation/ScriptReference/

在顶部,您可以选择语言。习惯这一页。= D

希望这能让你有所收获!

对于第一个问题,你可以将脚本附加到场景中的游戏对象上以使用它。

例如,

public class Mover : MonoBehaviour {
   private bool started = false;
   void Start () {
      Debug.Log ("Mover Started");
      started = true;
   }
}

如果你将此脚本附加到场景中的游戏对象并播放场景。脚本将运行并输出"Mover Started",并将私有布尔值设置为true。

这也是与其他对象或脚本交互的许多其他方式。

如果你看一下Unity的MonoBehaviour文档,你会发现与你的项目相关的每个JS文件都自动派生自MB。如果你正在编写c#代码,请理解并非所有内容都必须是MB。游戏层次结构中的对象可能只附加从MB对象继承的组件脚本。Unity处理这些对象的构造,而MB实际上是你被禁止自己构造的东西。

另外,我认为你最好在unityAnswers获得Unity相关的帮助。