BB:Itween是真心不好用!

- 透明度动画

void Start () {
//键值对儿的形式保存iTween所用到的参数
Hashtable args = new Hashtable(); //最终透明度
args.Add("alpha", );
//最终透明度,alpha和amount都是最终透明度,amount优先于alpha.内部实现是仅改变Color.a的值,再调用对应的Color方法.
args.Add("amount", );
//是否包括子对象
args.Add("includechildren",true);
//当效果是应用在renderer(渲染器)组件上时,此参数确定具体应用到那个以命名颜色值上
args.Add("namedcolorvalue", iTween.NamedValueColor._Color); //动画的时间
args.Add("time", 10f);
//延迟执行时间
args.Add("delay", 0.1f); //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中
args.Add("easeType", iTween.EaseType.easeInOutExpo);
//三个循环类型 none loop pingPong (一般 循环 来回)
//args.Add("loopType", "none");
//args.Add("loopType", "loop");
args.Add("loopType", iTween.LoopType.pingPong); //处理动画中的事件。
//开始发生动画时调用AnimationStart方法,5.0表示它的参数
args.Add("onstart", "AnimationStart");
args.Add("onstartparams", 5.0f);
//设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,
//那么就得在接收对象的脚本中实现AnimationStart方法。
args.Add("onstarttarget", gameObject); //动画结束时调用,参数和上面类似
args.Add("oncomplete", "AnimationEnd");
args.Add("oncompleteparams", "end");
args.Add("oncompletetarget", gameObject); //动画中调用,参数和上面类似
args.Add("onupdate", "AnimationUpdate");
args.Add("onupdatetarget", gameObject);
args.Add("onupdateparams", true); iTween.FadeTo(btnBegin, args);
} //动画开始时调用
void AnimationStart(float f)
{
Debug.Log("start :" + f);
}
//动画结束时调用
void AnimationEnd(string f)
{
Debug.Log("end : " + f); }
//动画中调用
void AnimationUpdate(bool f)
{
Debug.Log("update :" + f); }

- 移动动画

void Start () {  

        //键值对儿的形式保存iTween所用到的参数
Hashtable args = new Hashtable(); //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中
//例如移动的特效,先震动在移动、先后退在移动、先加速在变速、等等
args.Add("easeType", iTween.EaseType.easeInOutExpo); //移动的速度,
//args.Add("speed",10f);
//移动的整体时间。如果与speed共存那么优先speed
args.Add("time",10f);
//这个是处理颜色的。可以看源码的那个枚举。
args.Add("NamedValueColor","_SpecColor");
//延迟执行时间
args.Add("delay", 0.1f); //是否让游戏对象始终面朝路径行进的方向,拐弯的地方会自动旋转。
args.Add("orienttopath", true);
//移动的过程中面朝一个点,当“orienttopath”为true时该参数失效
args.Add("looktarget",Vector3.zero);
//游戏对象看向“looktarget”的秒数。
args.Add("looktime",1.1); //游戏对象移动的路径可以为Vector3[]或Transform[] 类型。可通过iTweenPath编辑获取路径
Vector3[] testPath = { new Vector3(, , ), new Vector3(, , ), new Vector3(, , ), new Vector3(, , ), new Vector3(, , ) };
args.Add("path", testPath);
//是否移动到路径的起始位置(false:游戏对象立即处于路径的起始点,true:游戏对象将从原是位置移动到路径的起始点)
args.Add("movetopath", false); //当包含“path”参数且“orienttopath”为true时,该值用于计算“looktarget”的值,表示游戏物体看着前方点的位置,(百分比,默认0.05)
args.Add("lookahead",0.01); //限制仅在指定的轴上旋转
args.Add("axis", "x");
//是否使用局部坐标(默认为false)
args.Add("islocal", false); //三个循环类型 none loop pingPong (一般 循环 来回)
//args.Add("loopType", "none");
//args.Add("loopType", "loop");
args.Add("loopType", iTween.LoopType.pingPong); //处理移动过程中的事件。
//开始发生移动时调用AnimationStart方法,5.0表示它的参数
args.Add("onstart", "AnimationStart");
args.Add("onstartparams", 5.0f);
//设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,
//那么就得在接收对象的脚本中实现AnimationStart方法。
args.Add("onstarttarget", gameObject); //移动结束时调用,参数和上面类似
args.Add("oncomplete", "AnimationEnd");
args.Add("oncompleteparams", "end");
args.Add("oncompletetarget", gameObject); //移动中调用,参数和上面类似
args.Add("onupdate", "AnimationUpdate");
args.Add("onupdatetarget", gameObject);
args.Add("onupdateparams", true); // x y z 标示移动的位置。
args.Add("x",-);
args.Add("y",);
args.Add("z",);
//当然也可以写Vector3
//args.Add("position",Vectoe3.zero);
//最终让改对象开始移动
iTween.MoveTo(btnBegin, args);
}
//对象移动中调用
void AnimationUpdate(bool f)
{
Debug.Log("update :" + f);
}
//对象开始移动时调用
void AnimationStart(float f)
{
Debug.Log("start :" + f);
}
//对象移动时调用
void AnimationEnd(string f)
{
Debug.Log("end : " + f);
}

- 缩放动画

void Start () {  

       //键值对儿的形式保存iTween所用到的参数
Hashtable args = new Hashtable(); //放大的倍数
args.Add("scale", new Vector3(, , ));
//args.Add("scale", msgNotContinue.transform);
// x y z 标示放大的倍数
args.Add("x", );
args.Add("y", );
args.Add("z", ); //动画的速度
//args.Add("speed",10f);
//动画的时间
args.Add("time", 10f);
//延迟执行时间
args.Add("delay", 0.1f); //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中
args.Add("easeType", iTween.EaseType.easeInOutExpo);
//三个循环类型 none loop pingPong (一般 循环 来回)
//args.Add("loopType", "none");
//args.Add("loopType", "loop");
args.Add("loopType", iTween.LoopType.pingPong); //处理移动过程中的事件。
//开始发生动画时调用AnimationStart方法,5.0表示它的参数
args.Add("onstart", "AnimationStart");
args.Add("onstartparams", 5.0f);
//设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,
//那么就得在接收对象的脚本中实现AnimationStart方法。
args.Add("onstarttarget", gameObject); //动画结束时调用,参数和上面类似
args.Add("oncomplete", "AnimationEnd");
args.Add("oncompleteparams", "end");
args.Add("oncompletetarget", gameObject); //动画中调用,参数和上面类似
args.Add("onupdate", "AnimationUpdate");
args.Add("onupdatetarget", gameObject);
args.Add("onupdateparams", true); iTween.ScaleTo(btnBegin, args);
} //动画开始时调用
void AnimationStart(float f)
{
Debug.Log("start :" + f);
}
//动画结束时调用
void AnimationEnd(string f)
{
Debug.Log("end : " + f);
}
//动画中调用
void AnimationUpdate(bool f)
{
Debug.Log("update :" + f);
}

- 值变化动画

void Start () {
//键值对儿的形式保存iTween所用到的参数
Hashtable args = new Hashtable();
//插值的起点和终点,数据类型可为 float、double、Vector3、Vector2、Color、Rect
args.Add("from", 0.0f);
args.Add("to", 1.0f); //插值变化的速度,
//args.Add("speed",10f);
//插值变化的整体时间。如果与speed共存那么优先speed
args.Add("time", 10f);
//延迟执行时间
args.Add("delay", 0.1f);
//这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中
args.Add("easeType", iTween.EaseType.easeInOutExpo);
//三个循环类型 none loop pingPong (一般 循环 来回)
//args.Add("loopType", "none");
//args.Add("loopType", "loop");
args.Add("loopType", iTween.LoopType.pingPong); //处理移动过程中的事件。
//开始发生变化时调用AnimationStart方法,5.0表示它的参数
args.Add("onstart", "AnimationStart");
args.Add("onstartparams", 5.0f);
//设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,
//那么就得在接收对象的脚本中实现AnimationStart方法。
args.Add("onstarttarget", gameObject); //变化结束时调用,参数和上面类似
args.Add("oncomplete", "AnimationEnd");
args.Add("oncompleteparams", "end");
args.Add("oncompletetarget", gameObject); //变化过程中(ValueTo必写参数)
args.Add("onupdate", "AnimationUpdata");
args.Add("onupdatetarget", gameObject); //ValueTo不可用
args.Add("onupdateparams", btnBegin); iTween.ValueTo(btnBegin, args);
}
public void AnimationUpdata(object obj)
{
float per = (float)obj;
//改变按钮透明度
btnBegin.transform.FindChild("Background").GetComponent<UISprite>().alpha = per;
} //动画开始时调用
void AnimationStart(float f)
{
Debug.Log("start :" + f);
}
//动画结束时调用
void AnimationEnd(string f)
{
Debug.Log("end : " + f);
}

这里附上一个协程的值变化方式

Itween的代码使用方法 - 01的更多相关文章

  1. 063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法

    063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法 本文知识点:无参无返回值方法 无参无返回值方法 案例 为什么使用方法?--方便复杂问题调用 ...

  2. SQL中批量删除被注入的恶意代码的方法

    下文将为您介绍SQL中批量删除被注入的恶意代码的方法,供您参考,如果您也遇到了这样的问题,不妨一看,相信对您会有所帮助. 1,如果你的数据表很少的话,那么写几条简单的sql就搞定了 对于表中的nvch ...

  3. JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法(转)

    原文:JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法 jquery-easyui是一个基于jquery的图形界面插件,利用easyui可以创建很多好看的网页界面 ...

  4. SharePoint2010 自定义代码登录方法

    转:http://yysyb123.blog.163.com/blog/static/192050472011382421717/ SharePoint2010 自定义代码登录方法 (自定义Form验 ...

  5. 改善EF代码的方法(下)

    本节,我们将介绍一些改善EF代码的方法,包括编译查询.存储模型视图以及冲突处理等内容. > CompiledQuery 提供对查询的编译和缓存以供重新使用.当相同的查询需要执行很多遍的时候,那么 ...

  6. 通过浏览器F12开发工具快速获取别的网站前端代码的方法

    通过浏览器F12开发工具快速获取别的网站前端代码的方法 说明:直接另存为网页是比较老的做法,会有很多没用的东西下载下来.通过F12开发工具,sources获取到的是比较好的,有目录结构的源文件.

  7. 基于git命令的代码统计方法

    基于git命令的代码统计方法 没什么好说的,基于git log命令,使用前提是安装了git ...... .统计所有人代码量 统计所有人代码增删量,拷贝如下命令,直接在git bash等终端,git项 ...

  8. 二十三、详述 IntelliJ IDEA 中恢复代码的方法「进阶篇」

    咱们已经了解了如何将代码恢复至某一版本,但是通过Local History恢复代码有的时候并不方便,例如咱们将项目中的代码进行了多处修改,这时通过Local History恢复代码就显得很麻烦,因为它 ...

  9. 二十二、详述 IntelliJ IDEA 中恢复代码的方法

    在咱们正常开发项目的时候,难免遇到在开发过程中由于某种原因,想要将代码恢复到前一版本的情景.特别是在咱们删除了某些代码,想要恢复之前删除的代码的时候,了解这个在 IntelliJ IDEA 中恢复代码 ...

随机推荐

  1. 遇到问题或bug时要做的事。

    1,做事细心,只有细心才能减少bug量,做总结. 2,开发中遇到bug和错误,第一要想到是程序代码的问题.而首先想到的不是其他问题(比如版本,框架或兼容问题等). 3,程序不能按照自己的意愿执行,时先 ...

  2. idhttp.post方式 调用datasnap rest 远程方法(转咏南兄)

    idhttp.get方式调用,这种比较简单,大家都会.post方式网上却没有任何成功的代码,本人也是摸索了一个上午才搞定. 分享给大家. (1)post方式调用的远程方法,方法名必须加“update” ...

  3. Java的学习05

    今天学习了,Java中的LinkedList类.这个类需要用到链表的知识,以前一直以为,只有c/c++有链表.今天才知道,原来其他语言.也有链表,而且还是双向链表. /** * 自定义一个链表 * @ ...

  4. Flask最强攻略 - 跟DragonFire学Flask - 第三篇 Flask 中的 request 之 先知道有这么个东西

    每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...

  5. php curl抓取类分享

    class UsualFunForNetWorkHelper { /*** * post请求数据 */ public static function HttpsPost($url, $data = n ...

  6. 547. Friend Circles 求间接朋友形成的朋友圈数量

    [抄题]: There are N students in a class. Some of them are friends, while some are not. Their friendshi ...

  7. [leetcode]254. Factor Combinations因式组合

    Numbers can be regarded as product of its factors. For example, 8 = 2 x 2 x 2; = 2 x 4. Write a func ...

  8. JMD Handy Baby 2 to Decode & Adding New BMW 525 ID46 Key

    Here OBD2TOOL share the guide on how to use JMD Handy Baby II to decode and add new keys for BMW 525 ...

  9. RNA-seq数据综合分析教程 AKAP95

    https://blog.csdn.net/l_yivs?t=1 RNA-seq数据综合分析教程 2 4,055 A+ 所属分类:Transcriptomics   收  藏 2     RNA-se ...

  10. rsync 定时备份<crontab+backrsync.sh> 简陋版

    数据需要定时的备份至其它的目录中,但是备份之前检查检查一下是否有rsync正在运行,曾经因为数据过大,导致有很多rsync进程在跑,然后服务器有出现卡死的现象.最终写了一条bash,先检查一下是否有这 ...