关于 int Mathf.PingPong(t, length); 原理,相当于

#include <iostream>
#include <vector> int test(int t, int length)
{
if(t / length % == )
return length - t % length;
else
return t % length;
} int main()
{
int length = ;
std::vector<int> vect{,,,,,,,,};
for(auto& item : vect)
{
std::cout<<test(item,length)<<",";
}
}

说明参见:http://forum.unity3d.com/threads/mathf-repeat-vs-mathf-pingpong.1388/

类似的还有 Color.Lerp    / Vector3.Lerp

在 Update 里调用  Color32.Lerp(colorWhite, colorBlack, Time.time); 一般是指在1秒钟内完成变色,但如果一开始Time.time就不等于0,则结果不是这样,假设Time.time开始执行时就>1,则执行到此代码时,立即变色,如下:

float time = ;

void Update () {
time += Time.deltaTime;
if(time>)
{
Color c = Color32.Lerp(Color.white, Color.black, Time.time);
Debug.Log(c.r + "," + c.g + "," + c.b);
gameObject.GetComponent<Image>().color = c;
}
}

如果要使用3秒时间完成变色,则需要如下代码:

float time = ;

void Update () {
gameObject.GetComponent<Image>().color = Color32.Lerp(Color.white, Color.black, time);
time += Time.deltaTime / ;
}

Time.time是指

unity 协程

调用 StartCoroutine ,相当于创建并进入了另一个线程,并执行其中的函数,直到遇到第一个 yield return,此时协程暂停,然后将程序执行权返还给调用函数,什么时候恢复执行是根据 yield return 后面的参数决定的,如果是 yield return null; 表示一帧后恢复,如果是 yield return new WaitForSeconds(3); 表示3秒后恢复,如果后面跟一个对象,则该对象不为 nil 时恢复 。

Unity API的更多相关文章

  1. 离线unity API文档

    只要安装的时候勾选上document 打开unity选择help-ScriptReference就可以打开本地API了.

  2. unity API 之EventSystem.current.IsPointerOverGameObject()

    命名空间 :UnityEngine.EventSystems 官方描述: public bool IsPointerOverGameObject(); public bool IsPointerOve ...

  3. Unity API 解析 (陈泉宏著)

    1 Application类 2 Camera类 3 GameObject类 4 HideFlags类 5 Mathf类 6 Matrix4x4类 7 Object类 8 Quaternion类 9 ...

  4. Unity API学习笔记(1)

    首先创建测试项目: 这里我选择了2D,其实都可以,之后可以在项目中修改. 修改方法: 进入正题. 首先看一下官方提供的>手册和>脚本API文档. 创建C#脚本文件并打开: 默认的脚本文件为 ...

  5. Unity API 解析(13)—— Vector3 类

    三维向量或三维坐标点 normalized —— 单位化向量 返回方向相同模长为1的向量 sqrMagnitude —— 模长平方 Scale —— 向量缩放 Angle —— 两向量夹角 Cross ...

  6. Unity API学习笔记(2)-GameObject的3种Message消息方法

    官方文档>GameObject 首先建立测试对象: 在Father中添加两个脚本(GameObejctTest和Target),分别用来发送Message和接受Message: 在其它GameO ...

  7. Unity API笔记

    1. 返回某范围的随机数 Random.Range method. static float Range(float min, float max); returns a float – return ...

  8. Unity中文API参考手册

    转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6835582.html  Unity5中文脚本手册 网页版 Unity API 执行顺序: Unity5中 ...

  9. 快速上手Unity原生Json库

    现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...

随机推荐

  1. 关于git SSH Key的 生成

    最近刚接触git,简直就是一小白用户,所以决定自己记录一些东西,以备不时之需 系统环境:Windows 1.首先下载git,http://git-scm.com/download/ 2.正常安装git ...

  2. Bzoj2763 [JLOI2011]飞行路线

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2651  Solved: 1004 Description Alice和Bob现在要乘飞机旅行,他们选 ...

  3. SPOJ913 Query on a tree II

    Time Limit: 433MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu Description You are g ...

  4. QIBO CMS SQL Injection Via Variable Uninitialization In \member\special.php

    Catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 该漏洞存在于/member/special.php文件下,由于未对变量进 ...

  5. android逆向学习小结--CrackMe_1

    断断续续的总算的把android开发和逆向的这两本书看完了,虽然没有java,和android开发的基础,但总体感觉起来还是比较能接收的,毕竟都是触类旁通的.当然要深入的话还需要对这门语言的细节特性和 ...

  6. java 环境变量 设置 问题

    问题按照网上教程配置好了  tomcat可以用了.但是发现java不能用. 网上教程(类似教程太多了 ,就不 具体说了 http://jingyan.baidu.com/article/f96699b ...

  7. rpm包安装过程中依赖问题“libc.so.6 is needed by XXX”解决方法

    rpm包安装过程中依赖问题"libc.so.6 is needed by XXX"解决方法 折腾了几天,终于搞定了CentOS上的Canon LBP2900打印机驱动.中间遇到了一 ...

  8. 对oracle数据库进行增删改更新操作,executeUpdate()执行卡住了

    原因是:oracle数据库更新数据后需要commit,不然会堵塞,就会卡住 那么每次调用executeUpdate()完后,数据库要自动commit才可以. 我的基类加了一下,注意红色字体部分代码: ...

  9. Linux 内核高-低端内存设置代码跟踪(ARM构架)

    对于ARM中内核如何在启动的时候设置高低端内存的分界线(也是逻辑地址与虚拟地址分界线(虚拟地址)减去那个固定的偏移),这里我稍微引导下(内核分析使用Linux-3.0): 首先定位设置内核虚拟地址起始 ...

  10. SVN Access to ‘/svn/Test/!svn/me’ forbidden,不能更新解决办法

    今天上班,使用公司配置的电脑进行项目的更新.SVN报如下错误, SVN Access to '/svn/Test/!svn/me' forbidden,不能更新解决办法 很有意思: 开始以为自己的SV ...