Unity脚本API (官方文档)
https://docs.unity3d.com/cn/2020.2/ScriptReference/index.html
写文档时使用引擎版本 Unity2020.3.48f1c1
Unity常用API 的17个模块
修Unity C#脚本 创建模板
默认内容
修改成自己的覆盖进去即可
创建一个C#脚本 直接是自定义的模板 ,Inspertor中看中文不乱码
启动vs中的引用数量提示
工具->选项->所有语言->CodeLens 启动CodeLens
启动后效果
打印函数
生命周期函数(事件函数)
事件函数脚本源码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class No2_EventFunction : MonoBehaviour
{
public float value = 10;
//对变量的赋值顺序(先左后右)
//变量声明并直接赋值 Inspector面板赋值 Awake OnEnable Start 从类的实例中进行外部赋值
//外部赋值前提是这个类实例已经有了(已经调用过了Start),所以外部赋值会后于自身的Start
private void Reset()
{
//不运行的时候 在编辑器中运行
//第一次挂载脚本 或 使用reset命令时调用一次
//初始化所有值
Debug.Log("调用了Reset()");
}
private void Awake()
{
//游戏运行后
//运行后加载场景中的所有资源的时候调用一次,GO被首次激活的时候调用一次,
//GO上有多个脚本 都有Awake(),调用顺序随机
//GO激活 脚本失活 也会执行
Debug.Log("调用了Awake()");
}
private void OnEnable()
{
//游戏运行后
//运行后调用一次 GO或者脚本被激活调用一次
//生命周期中 Awake之后 Start 之前调用
//对象池 用来初始化 变量值
Debug.Log("调用了OnEnable()");
value = 10;
}
void Start()
{
//游戏运行后
//运行后调用一次 GO或者脚本被激活调用一次 首次调用一次
//GO上有多个脚本 都有Start,调用顺序随机,
//Enable 之后 Update第一帧开始前调用
Debug.Log("调用了Start()");
}
void Update()
{
//GO激活脚本激活时 一直调用
//每帧都调用一次 一般是 60次/s
Debug.Log("调用了Update()");
}
private void LateUpdate()
{
//GO激活脚本激活时 一直调用
//每帧都调用一次 一般是 60次/s
//在Update后调用
//一般xx跟随 被跟随的在Update中处理 跟随的在LateUpdate中处理
Debug.Log("调用了LateUpdate()");
}
private void OnDisable()
{
//对应OnEnable
//游戏运行后
//GO或脚本失活 GO被销毁时调用一次
Debug.Log("调用了OnDisable()");
}
private void OnApplicationQuit()
{
//在程序退出之前所有GO都调用这个函数一次
//编辑器中停止播放时调用一次
//网页视频关闭时调用一次
//在OnDisable前调用
Debug.Log("调用了OnApplicationQuit()");
}
private void OnDestroy()
{
//场景或游戏结束 调用一次
//编辑器中停止播放时调用一次
//网页视频关闭时调用一次
//当前脚本被移除调用一次
//当前脚本挂载的GO被删除调用一次
//用户销毁GO
Debug.Log("调用了OnDestroy()");
}
}
没有评论:
发表评论