WXDUnity API讲解笔记 1-16

一、事件函数 和事件函数的执行时机

在这里插入图片描述

二、Time类中的静态变量

captureFramerate
通过这个变量来设置帧的速率,通过设置帧的速率可以进行屏幕截图,让屏幕截图在当前帧可以完成。

*deltaTime
代表当前帧所占用的时间。我们按一秒运行60帧来算,那一个deltaTime的时间差不多是60分之一秒左右(根据硬件环境不同,可能会有出入)。

fixedDeltaTime
固定的时间,根据帧数设定而定。

frameCount
从游戏开始一直到现在一共运行了多少帧。

timeScale
默认是1,可以自己设置,调整比例可以实现时间的加速播放。
imeSinceLevelLoad
场景加载完成之后所占用的时间。

unscaleTime
游戏从一开始运行到现在的时间。

timeScale
经常用作游戏的暂停,或者加速,减速。

realtimeSinceStartup
用来检测一个算法的性能,用于性能优化。

三、Time.deltaTime和Time.realtimeSinceStartup的使用

Time.deltaTime的使用 – 常用于控制物体的移动
控制一个物体的移动
public Transform cube;
cube.Translate(Vector3.forward);
– cube物体会移动很快:调用一次移动一米,每秒调用很多次
-> cube.Translate(Vector3.forward * 3 * Time.deltaTime); // 速度*当前帧所用时间=当前帧运行距离:3m/s
Time.timeScale = 1f; // 设置timeScale
–> Time.deltaTime会乘以timeScale
timeScale=0.5f; 进行慢动作回放/ timeScale=2f; 两倍播放速度等等
若timeScale=0; cube就不会移动了,常用timeScale=0来暂停游戏,前提是所有物体的控制都用了deltaTime
Time.realtimeSinceStartup的使用 – 常用于性能测试

四、创建游戏物体的三种方法

创建物体的3种方法:

方法 一

GameObject go= new GameObject("Cube1")

方法二

1.根据prefab
2.根据另外一个游戏物体
GameObject.Instantiate(prefab);

方法三

GameObject.CreatePrimitive(PrimitiveType.Plane);
 GameObject.CreatePrimitive(PrimitiveType.Capsule);

五、如何给游戏物体通过代码添加组件

AddComponent:添加组件,可以添加系统组件或者自定义的脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class API03GameObject : MonoBehaviour {
 
	void Start () {
        GameObject go = new GameObject("Cube");
        go.AddComponent<Rigidbody>();//添加系统组件
        go.AddComponent<API01EventFunction>();//添加自定义脚本
	}
}

六、禁用和启用游戏物体

activeSelf:自身的激活状态
activeInHierarchy:在Hierarchy的激活状态
SetActive(bool):设置激活状态
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class API03GameObject : MonoBehaviour {

void Start () {
    GameObject go = new GameObject("Cube");
    Debug.Log(go.activeInHierarchy);
    go.SetActive(false);
    Debug.Log(go.activeInHierarchy);
}

七、GameObject、Component和Object的千丝万缕的关系

关系图
在这里插入图片描述
继承关系
在这里插入图片描述
禁用关系
GameObjectr :开启/禁用通过SetActive
Component : 开启/禁用通过enabled

GameObject的静态方法:
CreatePrimitive
Find – 对全局进行遍历查找;耗费性能,尽量不要在 Update中调用,少在Start中调用
  GameObject gameObject = GameObject.Find(“Main Camera”);
  gameObject.SetActive(false);
FindGameObjectWithTag – 返回游戏物体的数组;在标签范围内进行查找 – 较快
  GameObject[] gameObjects = GameObject.FindGameObjectsWithTag(“Main Camera”);
FindWithTag – 返回查找到的第一个符合条件的游戏物体

八、游戏物体间消息的发送和接收

BroadcastMessage()向所有子物体包括自身广播消息。
SendMessage()向自身发送消息。
SendMessageUpwards()向所有父物体包括自身广播消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值