组件
每个游戏物体都由组件构成,不同的组件搭配构成了不同的物体
初始代码解读
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class helloscript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
前三行和其他语言一样,申明要使用的内容
using
在C#中,using
语句用于引入命名空间
using System.Collections
引入System.Collections
命名空间。该命名空间包含了一些非泛型集合类,这些类用于在 C# 中存储和管理对象,例如 ArrayList
和 Hashtable
。定义了集合操作的基础功能
非泛型
在没有指定数据类型的情况下定义集合或类
ArrayList list = new ArrayList();
list.Add(1); // 整数
list.Add("Hello"); // 字符串
using System.collections.Generic
引入了 System.Collections.Generic
命名空间。包含了一些基于泛型的集合类,如 List<T>
、Dictionary<TKey, TValue>
等。泛型集合能够更好地提供类型安全并提升性能,因为它们在编译时知道存储什么类型的数据
泛型
泛型是通过类型参数化来定义类或集合,它允许你在定义时不指定具体的数据类型,而是在使用时再传入指定类型
List<int> list = new List<int>();
list.Add(1); // 只能存储整数
// list.Add("Hello"); // 这将导致编译错误
using UnityEngine
引入了 Unity 的核心库 UnityEngine
。所有与 Unity 引擎相关的基本类、功能和组件都在这个命名空间中定义,比如 GameObject
、MonoBehaviour
、Transform
等。这是任何 Unity 脚本所必需的,因为它提供了访问 Unity 引擎和 API 的基础。
冒号“ : ”
继承,相当于Java中的extends
MonoBehaviour
MonoBehaviour
描述的是一种可以被 Unity 引擎执行且可以附加到游戏对象上的单一行为类,允许开发者实现特定的游戏逻辑和行为。因此,可以理解为它是用于定义游戏对象行为的基本类型
Start方法
在游戏的第一帧刷新前被执行
Update方法
在游戏的每一帧都会执行
Debug.Log()
用于打印信息
程度表示
Debug.LogWarning和Debug.LogError,输出效果:
修改字体颜色
在信息开头加上<color=颜色>,结尾加上</color>
Keyboard.current.wKey.isPressed
键盘输入操作,用于判断语句中,该句为判断W键是否被按下,相应的可以改成其他键
foreach
C#中的增强循环遍历
基本语法
foreach (var item in collection)
{
// 对每个 item 执行操作
}
var item
: 这是一个变量声明,用于表示当前迭代的元素。类型可以是指定类型,或使用var
让编译器自动推断类型。collection
: 这是被迭代的集合,可以是数组、列表、字典等任何实现了IEnumerable
或IEnumerable<T>
接口的对象。
单词解释
便捷操作
使用Shift+Alt+鼠标左键可以竖着复制
问题记录
编写完成后在unity中点击运行没有反应
1、可能是没在编写完成后保存,按下Ctrl+S保存即可
2、有些操作需要你点击游戏窗口才会显示,比如按键输入操作