Unity脚本介绍和常用API
脚本介绍
1.脚本
介绍
- 脚本是附加在游戏物体上用于定义游戏对象行为的指令代码
- Unity支持三种高级编程语言:
C#、JavaScript 和 Boo Script(unity4以前支持的)
语法结构
using 命名空间;
public class 类名:MonoBehaviour
{
void 方法名()
{
Debug.Log("调试显示信息");
print("本质就是Debug.Log方法");
}
}
- 文件名与类名必须一致(如果在Unity里更改了C#文件的名称,在Visual Studio里也要改类名)
- 写好的脚本必须附加到物体上才执行
- 附加到游戏物体的脚本类必须从MonoBehavior类继承
编译过程
- 编译运行过程
源代码 --(CLS)-> 中间语言 – (Mono Runtime) -> 机器码
2.开发工具
MonoDevelop
- unity自带的脚本编辑器,创建Mono应用程序,适用于Linux、Mac OS X和Windows的集成开发环境,支持C#和JavaScript等
Visual Studio
- 微软公司的开发工具包,包括了整个软件生命周期中需要的大部分工具,如团队开发工具,集成开发环境等等。
- 在Unity中通过菜单设置修改默认的脚本编辑器:
3.脚本生命周期
简介
- unity脚本从唤醒到销毁的过程
- 消息(也叫必然事件):当满足某种条件Unity引擎自动调用的函数
脚本和C#类有几点不同,首先,脚本里的字段如果访问级别为public,那么可以直接在unity里看见,访问级别为private,那么在unity里会隐藏。如果private字段想在unity里显示,需要在前面写[SerializeField],如果public字段不想显示,需要在前面写[HideInInspector]
此外,脚本里不能写属性和构造函数,只能写方法。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 脚本生命周期/必然事件/消息
/// </summary>
public class Lifecycle : MonoBehaviour
{
//脚本:.cs的文本文件 类文件
// 附加到游戏物体中,定义游戏对象行为指令的代码
//c#类
//字段
//属性
//构造函数
//方法
//脚本
//字段
//方法
//序列化字段 作用:在编译器中显示私有变量
[SerializeField]
private int a = 10;
//作用:在编译器中隐藏字段
[HideInInspector]
public float b;
[Range(0, 100)]
public int c;
//属性在编译器中不能显示,通常脚本中不写
public int A
{
get
{
return this.a; }
set
{
this.a = value;
}
}
public Lifecycle()
{
//Debug.Log("构造函数");
//不要在脚本里写构造函数
//不能在子线程中访问主线程成员
//b = Time.time;
}
private int d;
//*********************初始阶段***************************
//执行时机:创建游戏对象 --》 立即执行1次 (早于Start)
//作用:初始化
private void Awake()
{
Debug.Log("Awake--" + Time