FixedUpdate每秒固定调用N帧
Update每秒根据实际情况(硬件)调用N帧,不是固定值
FixedUpdate每秒固定调用N帧
Update每秒根据实际情况(硬件)调用N帧,不是固定值
GameObject.insatntiate(一个prefab) 这个方法是克隆一个参数于prefab相同的object出来
GameObject go = GameObject.CreatePrimitive(PrinitiveType.cube);//创建的基本类型object(Cube)
go.AddComponent<Rigidbody>();//可以给创建的object添加组件
go.AddComponent<Script>();//并且也可以是脚本
Debug.log("打印出来")
[timeline:7:00]
this.transform.Find()
FindObjectOfType()与GameObject.FindObjectOfType()都是源于UnityEngine::Object类里面
activeInHierachy
静态方法
CreatePrimitive
Find 根据名字来查找的,比较耗费性能
FindGameObjectWithTag 访问的是一个数组
FindwithTag 访问第一个符合条件的
射线检测
IsInvoking("")可以用来判断括号内方法是否正在被调用
Invoke()会把括号内的方法加进队列里,并执行后面的等待时间,这时间内IsInvoking会显示为true
InvokeRepeating(方法,4,2)4s后调用第一次,之后每间隔2s调用一次
事件函数的执行时机和先后顺序
FixedUpdata:每秒固定调用多少次,一般为60次,跟物理,运动相关的用它
Updata和LateUpdate是每秒调用一次,Updata先调用,LateUpdate后调用,这两个在同一帧里调用,跟实际的运行环境有关系,与代码有关
OnTriggerXXX:触发触发器
OnCollisionXXX:触发碰撞器
OnMouseXXX:鼠标操作的输入事件
Enable和Disable就是物体前面能否显示的对号,在调用Disable时(就是把物体前面的对号取消勾选),3个Updata都不再运行
//OnApplicationPause:点击运行旁边的暂停时调用,在点运行的时候他也会运行一次
1.鼠标0代表左键,1代表右键,2代表滑轮。
onEnable
onDisable: 勾选
fixedUpdate:固定次数
Update/lateUpdate:不固定,视硬件性能,代码规模
MonoBehaviour
invoke
Time类中静态变量介绍
Time.captureFramerate:Framerate为帧的速率
Time.daltaTime:当前帧所占用的时间,每一帧的时间间隔
Time.smoothDeltaTime:平滑的时间间隔来进行变化,时间变化很小,是根据Time.daltaTime来变化的
Time.fixdaltaTime:固定的占用时间,一般为1/60
Time.frameCount:从游戏开始一共运行了多少帧(帧数)
Time.timeScale:时间的比例,可以用来做游戏的加速或暂停,默认为1,
Time.timeSinceLevelLoad:从场景加载完成之后开始计时,切换场景之后会重新计时
Vector3 dir = enemy.position-player.position;
dir.y = 0;
player.rotation = Quaternion.LookRotation(dir);
datapath:数据的路径。不同平台路径不一样。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class wuo : MonoBehaviour {
private Material mat;
void Start () {
mat = GetComponent<MeshRenderer>().material;
}
void Update () {
mat.color = Color.Lerp(mat.color, Color.red, Time.deltaTime );
Time.timeScale = 0.01f;
}
}
M
TimedeltaTime和realTimeSinceStartup的使用
Time.daltaTime:用来做物体的运动,动画相关的东西
用Time.daltaTime时,物体的运动,不会随帧数的改变而改变
Time.timeScale
Time.realTimeSinceStartup:用来测试性能
持续的移动用Rigidbody.MovePosition