解决ugui中Image使用iTween的ColorTo、ColorFrom等不生效
查看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等不生效的更多相关文章
- [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题
		[Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题 2017年07月05日 15:57:44 阅读数:1494 http://www.cpp ... 
- iOS 解决LaunchScreen中图片加载黑屏问题
		iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ... 
- 解决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 ... 
- geotrellis使用(十六)使用缓冲区分析的方式解决投影变换中边缘数据值计算的问题
		Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 问题探索 采样说明 实现方案 总结 一.前言 ... 
- 解决MyEclipse中的js报错的小方法
		今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ... 
- 解决eclipse中自带的maven搜索不到非本地第三方包问题
		解决eclipse中自带的maven搜索不到非本地第三方包问题 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近使用eclipse中的maven插件时发现,在pom.xml文件中添加第 ... 
- 解决MVC中JSON字符长度超出限制的异常
		解决MVC中JSON字符长度超出限制的异常 解决方法如下: <configuration> <system.web.extensions> <scripting> ... 
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题
		下面两种现象,用同一种方法解决 1.解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题 2.突然有一天首页访问图片很慢,至少隔20多秒所有图片才会出来.(解析:app使 ... 
- ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题
		] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题 标签: myeclipsejavawebWeb App Libraries 2013-10-16 1 ... 
随机推荐
- js时间Date对象介绍及解决getTime转换为8点的问题
			前言 在做时间转换的时候,发现用“2016-04-12”转出来的时间戳是 2016-04-12 08:00的时间点,而不是0点. new Date('2016-04-12').getTime(); ) ... 
- HTML5的File API读取文件信息
			html结构: <div id="fileImage"></div> <input type="file" value=" ... 
- [BZOJ3223]Tyvj 1729 文艺平衡树
			[BZOJ3223]Tyvj 1729 文艺平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区 ... 
- 55. 2种方法求字符串的组合[string combination]
			[本文链接] http://www.cnblogs.com/hellogiser/p/string-combination.html [题目] 题目:输入一个字符串,输出该字符串中字符的所有组合.举个 ... 
- [正则表达式]PCRE环视功能
			设想一下这个问题,假设为了方便长串数字的阅读性,需要为其添加逗号作为分隔,需要怎么做呢? 2569836495 => 2,569,836,495 正则表达式的匹配通常是从左往右的,这导致无法使用 ... 
- linux 环境变量
			电脑中必不可少的就是操作系统.而Linux的发展非常迅速,有赶超微软的趋势.这里介绍Linux的知识,让你学好应用Linux系统.比如要把/etc/apache/bin目录添加到PATH中,方法有三: ... 
- android Sqlite小记
			1.android.database.sqlite.SQLiteException: near "": syntax error (code 1): 语法错误,如果你的报了这个错误 ... 
- JS中,!=, !== 和 !的区别和使用场景
			var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 ... 
- 【leetcode】Happy Number
			题目简述 Write an algorithm to determine if a number is "happy". A happy number is a number de ... 
- 【leetcode】Palindrome Number
			题目简述: Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could n ... 
