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有什么影响?
试试这个。
在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相关的帮助。