Unity 控制台面板Console
Clear 清除所有信息
Collapse 折叠相同消息
Clear on Play 播放时清空消息
Error Pause 如果异常暂停执行(正常情况异常了会继续执行,但异常语句后的代码不会执行)
控制台记录要点、异常要点(右上角1和3)
•Messages 消息:当满足某种条件Unity 引擎自动调用的函数。
脚本
脚本:.cs的文本文件 类文件 定义游戏对象行为指令的代码。 脚本就是一个类
PS:运行的物体是Gameobject的对象 Transform、camera、audio都是Cameobject的对象
需要找他们的引用
C#类怎样写:
//字段
//属性 (在编译器中不能显示,通常脚本中不写)
//构造函数 (不要写!!)
//方法
脚本怎样写:
// 字段
// 方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;//1、命名空间的作用:避免类的重名 (命名空间.类的名字)
//4、运行的物体是Gameobject的对象 Transform、camera、audio都是Cameobject的对象需要找他们的引用
//6、脚本就是一个类
//挂到unity物体上的脚本必须从MonoBehaviour继承,其他可以不继承
public class Day1 : MonoBehaviour
{
Unity的三个特性
//序列化字段 作用:在编辑器中显示(编辑)私有变量
[SerializeField]
private int a=100;
//作用:在编译器中隐藏公共字段
[HideInInspector]
public float b;
[Range(0, 100)]//可设置范围
public int c;
脚本生命周期 即 必然事件\消息\脚本的生命周期
是指Unity 脚本从唤醒到销毁的过程。( 就是在开始唤醒到最后销毁,都会满足什么条件,自动调用什么方法)
1、初始阶段
//unity一直是单线程 Awake先,start后
//执行完所有物体的awake、再执行所有的Start
所以可以: 先做的放Awake里,后做的放start里
•Awake()相当于构造函数
• Start()开始
• OnEnable()当可用
//执行时机:创建游戏对象(物体载入)-->立即-->【执行1次】
//作用:初始化(相当于构造函数)
private void Awake()//唤醒
{
//****可判断当满足某种条件执行此脚本 this.enable=true
//脚本启不启用都会执行Awake
}
//执行时机:创建游戏对象-->脚本启用-->才【执行1次】
//作用:初始化(相当于构造函数)
private void Start(){}
//执行时机:每当对象启用时-->调用
private void OnEnable(){}
2、物理阶段
•OnCollisionXXX碰撞: 当满足碰撞条件时调用。
•OnTriggerXXX触发: 当满足触发条件时调用。
•FixedUpdate() 固定更新
//*****************物理阶段(物理引擎检测)*******************
//执行时机:每隔固定时间执行一次 0.02s(可修改但最好不要)
//适用性:适合对物体做物理操作(移动、旋转。。),不会受到渲染影响
private void FixedUpdate()//固定更新
{//渲染时间不固定(每帧渲染物体量不同、机器性能不同)
}
3.游戏逻辑
•Update()更新
•LateUpdate()延迟更新
//****************游戏逻辑*************
//执行时机:渲染帧执行,执行间隔不固定
//适用性:处理游戏逻辑
private void Update()//更新
{
//每次渲染场景时调用,频率与设备性能及渲染量有关
}
private void LateUpdate()//延迟更新
{
//在Update函数被调用后执行(同一帧后,几乎一样),适用于跟随逻辑
}
4、输入事件
•OnMouseEnter鼠标移入:鼠标移入到当前Collider 时调用。(必须要加collide组件)
•OnMouseOver鼠标经过:鼠标经过当前Collider 时调用。
•OnMouseExit鼠标离开:鼠标离开当前Collider 时调用。
•OnMouseDown鼠标按下:鼠标按下当前Collider 时调用。
•OnMouseUp鼠标抬起:鼠标在当前Collider 上抬起时调用。
5、场景渲染
•OnBecameVisible当可见:当MeshRenderer 在任何相机上可见时调用。(物体必须有MR)
•OnBecameInvisible当不可见: 当MeshRenderer 在任何相机上都不可见时调用。
6、结束阶段
•OnDisable当不可用:对象变为不可用或附属游戏对象非激活状态时此函数被调 用。
•OnDestroy当销毁:当脚本销毁或附属的游戏对象被销毁时被调用。
•OnApplicationQuit当程序结束:应用程序退出时被调用。