查看iTween的源码找到ColorFrom函数,看该函数的注释“/// Changes a GameObject's color values instantly then returns them to the provided properties over time with FULL customization options.  If a GUIText or GUITexture component is attached, it will become the target of the animation.” 原来iTween支持“GUIText”和“GUITexture”组件,Image和RawImage要想使用iTween的相应颜色动画函数,就要在相应函数中添加支持Image和RawImage的代码。先看下效果:

创建了一个Image,将脚本Test.cs添加到该Image上。

 public class Test : MonoBehaviour {

     // Use this for initialization
void Start () {
iTween.ColorFrom (this.gameObject, Color.red, 2f);
}
}
 

在iTween中找到函数,

public static void ColorFrom(GameObject target, Hashtable args)

在函数中找到

         //set tempColor and base fromColor:
if(target.GetComponent<GUITexture>()){
tempColor=fromColor=target.guiTexture.color;
}else if(target.GetComponent<GUIText>()){
tempColor=fromColor=target.guiText.material.color;
}else if(target.renderer){
tempColor=fromColor=target.renderer.material.color;
}else if(target.light){
tempColor=fromColor=target.light.color;
}

在其后添加支持Image和RawImage即可,修改后为


 //set tempColor and base fromColor:
if(target.GetComponent<GUITexture>()){
tempColor=fromColor=target.guiTexture.color;
}else if(target.GetComponent<GUIText>()){
tempColor=fromColor=target.guiText.material.color;
}else if(target.renderer){
tempColor=fromColor=target.renderer.material.color;
}else if(target.light){
tempColor=fromColor=target.light.color;
}else if(target.GetComponent<Image>()){
tempColor = fromColor = target.GetComponent<Image> ().color;
}else if(target.GetComponent<RawImage>()){
tempColor = fromColor = target.GetComponent<RawImage> ().color;
}

在其他相应的函数中有类似判断的地方继续添加相应的条件判断即可。

总共要修改的函数:

 public static void ColorFrom(GameObject target, Hashtable args)
public static void ColorUpdate(GameObject target, Hashtable args)
void GenerateColorToTargets()
void ApplyColorToTargets()

修改好的iTween文件:

链接: http://pan.baidu.com/s/1bn8QvmB 密码: pbpr

解决ugui中Image使用iTween的ColorTo、ColorFrom等不生效的更多相关文章

  1. [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题

    [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题 2017年07月05日 15:57:44 阅读数:1494 http://www.cpp ...

  2. iOS 解决LaunchScreen中图片加载黑屏问题

    iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ...

  3. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

    解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题http ...

  4. geotrellis使用(十六)使用缓冲区分析的方式解决投影变换中边缘数据值计算的问题

    Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 问题探索 采样说明 实现方案 总结 一.前言     ...

  5. 解决MyEclipse中的js报错的小方法

    今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ...

  6. 解决eclipse中自带的maven搜索不到非本地第三方包问题

     解决eclipse中自带的maven搜索不到非本地第三方包问题   版权声明:本文为博主原创文章,未经博主允许不得转载. 最近使用eclipse中的maven插件时发现,在pom.xml文件中添加第 ...

  7. 解决MVC中JSON字符长度超出限制的异常

    解决MVC中JSON字符长度超出限制的异常 解决方法如下: <configuration> <system.web.extensions> <scripting> ...

  8. 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题

    下面两种现象,用同一种方法解决 1.解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题 2.突然有一天首页访问图片很慢,至少隔20多秒所有图片才会出来.(解析:app使 ...

  9. ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题

    ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题 标签: myeclipsejavawebWeb App Libraries 2013-10-16 1 ...

随机推荐

  1. setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式

    <script type="text/javascript"> setInterval(function(){ var myDate = new Date(); var ...

  2. php无限极分类以及递归(thinkphp)

    php无限极分类: 无限极分类重点在于表的设计: 1在model中: class CatModel extends Model{ protected $cat = array(); public fu ...

  3. 使用自签名的方式创建Docker私有仓库

    Docker推荐使用CA机构颁发的TLS(Transport Layer Security Protocol)证书来保护docker仓库的安全,但是我们也可以选择使用HTTP或者自签名证书的方式实现本 ...

  4. 4. K线经典组合及意义一

    一. K线的三种形态: 1. 上升形态 2. 下跌形态 3. 顶部及底部形态 二. K线组合三大类 1. 上升形态,当这种K线或K线组合出现,表示股价要上涨. 2. 下跌形态,当这种K线或K线组合出现 ...

  5. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  6. Mybatis批量操作

    首先,mysql需要数据库连接配置&allowMultiQueries=true jdbc:mysql://127.0.0.1:3306/mybank?useUnicode=true& ...

  7. The difference between QA, QC, and Test Engineering

    Tuesday, March 06, 2007 Posted by Allen Hutchison, Engineering Manager and Jay Han, Software Enginee ...

  8. Python之路,Day5 - Python基础5

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 一.列表生成器 , 1, 2, 3, 4, 5, 6, 7, 8, 9 ...

  9. 第一天--html

    <!Doctype html><html>    <head>        <meta charset="UTF-8">      ...

  10. iOS 通信常用小功能

    打电话 a.最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplicatio ...