using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lifecycle : MonoBehaviour
{
[SerializeField]
private int a = 100;//使原本私有的在编辑器看不见的能看见
[HideInInspector]
public int b;//在编辑器中隐藏字段
[Range(0, 100)]
public int c;//在编辑器中可调从0-100;
private void Start()
{
Debug.Log("start is called");
}
private void Awake()
{
Debug.Log("awake is called");
}
private void Update()
{
Debug.Log("update is called");
}
//awake 先,而且不管脚本打不打勾【激活】,awake都会运行【创建游戏对象时
立即执行】
//start->在创建游戏对象后-》脚本启用后-》才执行
/*初始阶段:*/
//Awake:唤醒
//当物体载入时立即调用1次,常用于在游戏开始前初始化,可以判断当满足某种条件执行此脚本
this.enable=true;
//onEnable当可用:每当脚本对象启用时调用
//Start:开始
//物体载入且脚本启用时被调用1次,常用于数据或游戏逻辑初始化,执行时机晚于
Awake
/*物理阶段*/
private void FixedUpdate()//执行时机:每个固定时间执行1次(时间可以修改)
{
Debug.Log(Time.time);
}
//适用性:适合对物体做物理操作(移动,旋转---),不会受到渲染影响【每帧渲染物体
量与机器性能有关】
private void Update()//执行时机:渲染帧执行,执行间隔不固定
{
//使用性:用来处理游戏逻辑
}
//1.FixedUpdate固定更新
//脚本启用后,固定时间被调用,试用于对游戏对象做物理操作,列如移动等,
//设置更新频率:“Edit"->"project setting"->" Time"->"Fixed Timestep"值,
//2.OnCollision***碰撞
//当满足碰撞条件调用
//3.OnTrigger***触发
//当满足触发条件时调用
/*游戏逻辑*/
//1.Update更新
//脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关
//2.LateUpdate
//在Update函数被调用后执行,适用于跟随逻辑
//eg.物体移动在Update,相机跟随放在LateUpdate里
/*输入事件*/
private void OnMouseEnter()//鼠标移入,鼠标移入到当前collider时调用
{
}
private void OnMouseOver()//鼠标经过,鼠标经过当前collider时调用
{
}
private void OnMouseExit()//鼠标离开,鼠标离开当前collider时调用
{
}
private void OnMouseUp()//鼠标抬起,鼠标在collider抬起时调用
{
}
private void OnMouseDown()//鼠标按下
{
Debug.Log(" OnMouseDown");
}
/*场景渲染*/
private void OnBecamevisible()//当可见
{ //当Mesh Render在任何相机可见时调用
}
private void OnBecameVisible()//当不可见
{
//当Mesh Render在任何相机都不可见时调用
}
/*结束阶段*/
private void OnDisable()//当不可用
{
//对象变为不可用或附属游戏对象非激活时此函数被调用
}
private void OnDestroy()//当销毁
{
//当脚本销毁或附属的游戏对象被销毁时被调用
}
private void OnApplicationQuit()//当程序结束
{
//应用程序退出时被调用
}
}
unity--summary3
最新推荐文章于 2024-02-29 15:05:37 发布