SiKi学院 Unity中常用api学习笔记(015-019)

Api 应用程序编程接口

前言

笔记是看siki学院中《Unity中常用api》的学习笔记

课程地址:  http://www.sikiedu.com/my/course/59

强烈推荐大家去看老师的课

MonoBehaviour总览(015 -016)

Unity中文手册(MonoBehaviour):

https://docs.unity.cn/cn/current/ScriptReference/MonoBehaviour.html

Messages类:不能被调用,但可以在子类中重写变成方法。

变量:runInEditMode,允许 MonoBehaviour 的特定实例在编辑模式下运行(仅可在 Editor 中使用)。

     useGUILayout,禁用该属性可跳过 GUI 布局阶段。

公共函数

CancelInvoke取消该 MonoBehaviour 上的所有 Invoke 调用。
Invoke在 time 秒后调用 methodName 方法。
InvokeRepeating在 time 秒后调用 methodName 方法,然后每 repeatRate 秒调用一次。
IsInvoking是否有任何待处理的 methodName 调用?
StartCoroutine启动一个协同程序。
StopAllCoroutines停止在该行为上运行的所有协同程序。
StopCoroutine停止在该行为上运行的第一个名为 methodName 的协同程序或存储在 routine 中的协同程序。

静态方法: print

继承的变量:

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

MonoBehaviour中Invoke的使用(017)

Invoke

Invoke(“ str ”, 3);   代表3s后调用名为str的方法。

可以用bool类型的 IsInvoking(“ str ”);来判断函数是否被调用。

CancelInvoke

取消调用,指定参数CancelInvoke(“str”);取消指定的调用;

不指定参数,取消所有的调用。

 InvokeRepeating

InvkeRepeating(“ str ”, 4, 2); 代表4s后第一次调用str方法,之后每间隔2s调用一次。

什么是协程、它是如何执行的(018)

协程方法(Coroutines)

一般方法的调用顺序为从上到下依次执行,上一个方法调用完才执行下一个方法。

如果调用的是一个协程方法,不会等这个方法执行完,就开始执行。

协程方法不会阻塞方法的运行。

 

协程方法的规则

1.返回值是IEnumerator;

2.返回参数的时候使用yield return;

3.调用时 使用StartCoroutine()来调用。

使用Coroutine实现颜色动画渐变(019)

由黑变成白:

void Update(){

  StartCoroutine(Fade());

}

IEnumerator Fade()
{
  for ( float i = 0; i <= 1; i += 0.1f)
    {
       cube.GetComponent<MeshRenderer>().material.color = new Color(i, i, i, i);
       yield return new WaitForSeconds(0.1f);  //暂停0.1s 再执行
    }
}

如果是由当前颜色变到红色:

​
​
IEnumerator Fade()
{
   for(float i = 0; i <= 1; i += 0.1f)
   Color color = cube.GetComponent<MeshRenderer>().material.color;
   Color newColor = Color.Lerp(color, Color.red, 0.02f); //差值运算,从当前颜色到目标颜色,以0.02为标准变换
   yield return new WaitForSeconds(0.02f);
   if(Mathf.Abs(Color.red.r - newColor.r) <= 0.01f)  //颜色的rgba是color的值,判断差值
   {
      break;
   }
}

​

​

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值