当前位置:   article > 正文

Unity语法结构,生命周期,常用函数_unity using函数是什么函数

unity using函数是什么函数

语法结构

using 命名空间;
using UnityEngine;
using System.Collections;

/*注释:标明修改时间*/
public class 类名:MonoBehaviour
{
  void 方法名()
  {
  Debug.Log(“调试显示信息”)
  print(“本质就是Debug.Log方法”)
  }
}
```
```c#
private void Start()
{
   
}
%%0.02秒运行一次%%
private void Update()
{
   
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
public class Lifecycle:MonoBehaviour
{
    //脚本:.cs的文本文件 类文件
    //附加到游戏物体中,定义游戏对象行为指令的代码。 
    //c#类:
    //字段
    //属性
    //构造函数
    //方法
    //脚本:
    //字段
    //方法
        书写属性并不会显示在编译器,只有字段才会显示
    序列化字段:
    [SerializeField]私有变量显示在编译器
    public int a = 100;(初始化)
    [HideInspector]公开但不显示在编译器
    public int b;
    [Range(0,100)]设置取值范围
    public int c;
    不能在子线程中访问主线程成员
        不要在脚本中写构造函数
}
DeBug.Log();


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

脚本生命周期/必然事件/消息

在游戏各个阶段可以干什么事

消息:当满足某种条件Unity引擎自动调用的函数。

叫什么?

什么时候?

使用。

游戏初始阶段

Awake唤醒

this.enable=true
  • 1

执行时机:创建游戏对象–>立即执行

初始化放在游戏初始阶段

作用:初始化

private void Awake()
{
    处在开始 执行一次 在Start前执行
}
  • 1
  • 2
  • 3
  • 4

补充:

Random.Range(1,101);Unity3D随机数生成
  • 1
private int d;
private void Start()
{
    d=Random.Range(1,101);
}
  • 1
  • 2
  • 3
  • 4
  • 5

充当构造函数的作用.

OnEnable当可用:

每当脚本对象启用时调用。

Start开始:

执行时机: 创建游戏对象–>脚本启用–>才执行

作用:初始化

private void Start()
{
    处在开始 在Awake后面 执行   一次
}
  • 1
  • 2
  • 3
  • 4

物体载入且脚本对象启用时被调用一次。常用语数据或游戏逻辑初始化,执行时机晚于Awake。

游戏物理阶段

FixedUpdate固定更新:

执行时机:每隔固定时间执行,默认0.02s (时间可修改)

适用性:适合对物体做物理操作(移动,旋转等),不会受到渲染影响

渲染时间不固定(每帧渲染量不同、机器性能不同),但是渲染不会对FixedUpdate造成影响。

private int FixedUpdate()
{
    
}
  • 1
  • 2
  • 3
  • 4

Update

private void Updage()
{
    执行时机:渲染帧执行,执行间隔不固定

    适用性:处理游戏逻辑
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

一般情况,为了代码简单,把游戏移动等物理操作也放在Updage里面

脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,例如移动等;

OnCollisionXXX碰撞:

当满足碰撞条件时调用。

OnTriggerXXX触发:

当满足触发条件时调用。

输入事件

OnMouseEnter鼠标移入:

鼠标移入当前Collider时调用。

OnMouseOver鼠标经过:

鼠标经过当前Collider时调用。

OnMouseExit 鼠标离开:

鼠标离开当前Collider时调用。

OnMouseDown鼠标按下:

private void  OnMouseDown()
{
    鼠标按下当前Collider时调用。
}
  • 1
  • 2
  • 3
  • 4

OnMouseUp鼠标抬起:

鼠标在当前Collider上抬起时调用。

游戏逻辑

Update更新:

private void Updage()
{
    执行时机:渲染帧执行,执行间隔不固定

    适用性:处理游戏逻辑
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关。

LateUpdate延迟更新:

适用性:同帧先后,在Update后面执行
  • 1

在Update函数被调用后执行,适用于跟随逻辑。

场景渲染

OnBecameVisible当可见:

Mesh Renderer在任何相机上可见时调用。

OnbecameInvisible当不可见:

当Mesh Renderer 在任何相机上都不可见时调用。

结束阶段

OnDisable当不可用:

对象变为不可用或附属游戏对象非激活状态时次函数被调用。

OnDestroy当销毁:

当脚本销毁或附属的游戏对象被销毁时被调用。

OnApplicationQuit 当程序结束:

应用程序退出时被调用。

调试

1.将程序投入到实际运行中,通过开发工具进行测试,修正逻辑错误的过程。

1.控制台调试;

Debug.Log(变量);

print(变量);

2.定义共有变量,程序运行后在检测面板查看数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lJPGe2GF-1646554174446)(C:\Users\baheniao\Desktop\屏幕截图 2021-09-09 140145.png)]

Debug.Log(变量);和print(变量);的区别

单帧调试:启动调试 运行场景 暂停游戏 加断点 单帧执行 结束调试

P119

常用API

Component组件类

transform

GameObjet游戏对象

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/140726?site
推荐阅读
相关标签
  

闽ICP备14008679号