赞
踩
using 命名空间; using UnityEngine; using System.Collections; /*注释:标明修改时间*/ public class 类名:MonoBehaviour { void 方法名() { Debug.Log(“调试显示信息”) print(“本质就是Debug.Log方法”) } } ``` ```c# private void Start() { } %%0.02秒运行一次%% private void Update() { }
public class Lifecycle:MonoBehaviour { //脚本:.cs的文本文件 类文件 //附加到游戏物体中,定义游戏对象行为指令的代码。 //c#类: //字段 //属性 //构造函数 //方法 //脚本: //字段 //方法 书写属性并不会显示在编译器,只有字段才会显示 序列化字段: [SerializeField]私有变量显示在编译器 public int a = 100;(初始化) [HideInspector]公开但不显示在编译器 public int b; [Range(0,100)]设置取值范围 public int c; 不能在子线程中访问主线程成员 不要在脚本中写构造函数 } DeBug.Log();
在游戏各个阶段可以干什么事
消息:当满足某种条件Unity引擎自动调用的函数。
叫什么?
什么时候?
使用。
this.enable=true
执行时机:创建游戏对象–>立即执行
初始化放在游戏初始阶段
作用:初始化
private void Awake()
{
处在开始 执行一次 在Start前执行
}
补充:
Random.Range(1,101);Unity3D随机数生成
private int d;
private void Start()
{
d=Random.Range(1,101);
}
充当构造函数的作用.
每当脚本对象启用时调用。
执行时机: 创建游戏对象–>脚本启用–>才执行
作用:初始化
private void Start()
{
处在开始 在Awake后面 执行 一次
}
物体载入且脚本对象启用时被调用一次。常用语数据或游戏逻辑初始化,执行时机晚于Awake。
执行时机:每隔固定时间执行,默认0.02s (时间可修改)
适用性:适合对物体做物理操作(移动,旋转等),不会受到渲染影响
渲染时间不固定(每帧渲染量不同、机器性能不同),但是渲染不会对FixedUpdate造成影响。
private int FixedUpdate()
{
}
private void Updage()
{
执行时机:渲染帧执行,执行间隔不固定
适用性:处理游戏逻辑
}
一般情况,为了代码简单,把游戏移动等物理操作也放在Updage里面
脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,例如移动等;
当满足碰撞条件时调用。
当满足触发条件时调用。
鼠标移入当前Collider时调用。
鼠标经过当前Collider时调用。
鼠标离开当前Collider时调用。
private void OnMouseDown()
{
鼠标按下当前Collider时调用。
}
鼠标在当前Collider上抬起时调用。
private void Updage()
{
执行时机:渲染帧执行,执行间隔不固定
适用性:处理游戏逻辑
}
脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关。
适用性:同帧先后,在Update后面执行
在Update函数被调用后执行,适用于跟随逻辑。
当Mesh Renderer在任何相机上可见时调用。
当Mesh Renderer 在任何相机上都不可见时调用。
对象变为不可用或附属游戏对象非激活状态时次函数被调用。
当脚本销毁或附属的游戏对象被销毁时被调用。
应用程序退出时被调用。
1.将程序投入到实际运行中,通过开发工具进行测试,修正逻辑错误的过程。
1.控制台调试;
Debug.Log(变量);
print(变量);
2.定义共有变量,程序运行后在检测面板查看数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lJPGe2GF-1646554174446)(C:\Users\baheniao\Desktop\屏幕截图 2021-09-09 140145.png)]
单帧调试:启动调试 运行场景 暂停游戏 加断点 单帧执行 结束调试
P119
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。