Unity脚本介绍和常用API
脚本介绍
1.脚本
介绍
语法结构
编译过程
2.开发工具
MonoDevelop
Visual Studio
3.脚本生命周期
简介
脚本生命周期的阶段
1.初始阶段
2.物理阶段
输入事件
游戏逻辑
场景渲染
3.结束阶段
4.调试
Unity编辑器调试
使用VS调试
常用API
核心类图
1.Component
2.Transform
3.GameObject
脚本介绍
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;
///
/// 脚本生命周期/必然事件/消息
///
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