我是Actionscript的新手,我需要帮助来更改用add child
调用的对象的颜色,我需要在用户从组合框中选择所需的颜色后更改颜色:动作脚本对象颜色变化/色调
//MY CODE
if (e.target.value == "blue")
{
//need to change to this (0x0000FF)
//enter code here
}
任何帮助非常感谢!
我是Actionscript的新手,我需要帮助来更改用add child
调用的对象的颜色,我需要在用户从组合框中选择所需的颜色后更改颜色:动作脚本对象颜色变化/色调
//MY CODE
if (e.target.value == "blue")
{
//need to change to this (0x0000FF)
//enter code here
}
任何帮助非常感谢!
尝试使用颜色转换对象。
var redAmount:Number = 0;
var greenAmount:Number = 0;
var blueAmount:Number = 1;
var alphaAmount:Number = 1;
var redOffset:Number = 0;
var greenOffset:Number = 0;
var blueOffset:Number = 0;
var alphaOffset:Number = 0;
yourDisplayObject.transform.colorTransform = new ColorTransform(redAmount, greenAmount, blueAmount, alphaAmount, redOffset, greeenOffset, blueOffset, alphaOffset);
前四个变量是乘数 - 他们将采取现有的颜色值,并调整它,如果乘以该数字。所以要减少1/2的颜色使用0.5。使黑色全部设置为0.要不改变,全部为1。
第二个四个变量将增加或减少所有像素的颜色量。如果你需要更多的帮助
yourDisplayObject.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0xFF, 0xCC, 0x33, 0x00);
下面是对Adobe文档的链接: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/ColorTransform.html
如果你决定这样做彩色打了一个具体的十六进制值,说0xFFCC33,你可以这样做希望逐渐改变颜色,而不是立即从绿色环保中查看TweenMax。 Greensock补间类是动作编程广泛使用的主力。
至T int与TweenMax的显示对象的代码将是:
TweenMax.to(yourDisplayObject, 1, {tint:0x0000FF});
此类适用使用码的色彩变换的对象,但它随时间逐渐改变的值
这里是一个链接到你可以得到TweenMax的地方。 http://www.greensock.com/tweenmax/
这里是最容易理解的(在我看来是这样)的方式来实现这一目标:
if (e.target.value == "blue")
{
var colorTransform:ColorTransform = yourObject.transform.colorTransform; //store the current color data for the object
colorTransform.color = 0x0000FF; //make it totally blue
yourObject.transform.colorTransform = colorTransform; //now assign it back to the object
}
考虑upvoting有用的答案,并接受你觉得最好的帮助您解决问题的答案 – BadFeelingAboutThis