永发信息网

flash as3.0关于setRGB的小问题

答案:1  悬赏:20  手机版
解决时间 2021-11-15 12:19
flash as3.0关于setRGB的小问题
最佳答案
首先,可以很负责的告诉你,你的代码是AS2的。
其次可以到帮助中查找ColorTransform 类:
可使用 ColorTransform 类调整显示对象的颜色值。 可以将颜色调整或颜色转换应用于所有四种通道:红色、绿色、蓝色和 Alpha 透明度。
当 ColorTransform 对象应用于显示对象时,将按如下方法为每个颜色通道计算新值:
新红色值 = (旧红色值 * redMultiplier) + redOffset
新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset
新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset
新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset
如果计算后任何一个颜色通道值大于 255,则该值将被设置为 255。 如果该值小于 0,它将被设置为 0。
可以通过下列方式使用 ColorTransform 对象:
在 BitmapData 类的 colorTransform() 方法的 colorTransform 参数中
作为 Transform 对象(此对象可以用作显示对象的 transform 属性)的 colorTransform 属性

下面的示例使用
TransformExample 类在以渐变图案填充的正方形中创建简单的 sprite。 每次用户单击正方形时,应用程序都将转换正方形 sprite 的颜色,同时添加到红色通道并加亮蓝色通道。 这是由以下步骤完成的:
构造函数创建一个新的 sprite 对象 target。
CustomButton() 构造函数调用 draw() 方法,该方法在 sprite 中绘制一个渐变正方形。
CustomButton() 构造函数为 sprite 添加 click 事件侦听器,该侦听器由 clickHandler() 方法处理。
在 clickHandler() 方法中,两个属性被设置为当前颜色转换的 redOffset 和 blueOffset 属性。 将每项的值调整 25。 然后修改正方形 sprite 的 transform.colorTransform 属性,以使用新的偏移量值。 每次用户单击正方形时,对 clickHandler() 方法的调用都将修改正方形的颜色,方法是增大其红色值并减小其蓝色值。
package {
import flash.display.Sprite;
import flash.display.GradientType;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;

public class ColorTransformExample extends Sprite {
public function ColorTransformExample() {
var target:Sprite = new Sprite();
draw(target);
addChild(target);
target.useHandCursor = true;
target.buttonMode = true;
target.addEventListener(MouseEvent.CLICK, clickHandler)
}
public function draw(sprite:Sprite):void {
var red:uint = 0xFF0000;
var green:uint = 0x00FF00;
var blue:uint = 0x0000FF;
var size:Number = 100;
sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]);
sprite.graphics.drawRect(0, 0, 100, 100);
}
public function clickHandler(event:MouseEvent):void {
var rOffset:Number = transform.colorTransform.redOffset + 25;
var bOffset:Number = transform.colorTransform.redOffset - 25;
this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0);
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
5/9乘5乘18简便方法
eat的ing形式
高粱面煎饼的家常做法大全怎么做好吃视频
海参崴用俄语怎么说?
淡这个字怎么读
lol怎么有九个字的 名字
柑榄小学地址好找么,我有些事要过去,
那早上九点吃了,中午什么时候吃
锯床在锯料中变频器报警怎么处理
宝视眼镜地址好找么,我有些事要过去,
列式表式别x的七倍大三的数,与比x的六被小五
各位氪金母猪什么意思
辽阔照样子写词语
fgo骑凛再临材料只能活动换吗
木质浴桶该如何保养?
推荐资讯
从奥辉纸厂到大王东怎么坐公交车,最快需要多
电线的平方数是怎么算的?是绞合导体。比如0.
什么案答
一轮清辉()一串笑声()后面填啥词让人产生
求职 压花师傅 专业织带压花 六年工作经验 谢
有谁知道哪里有弄纹身的,我是青岛即墨的
如果我想踢群里的某个人,但在群成员里却找不
语文那5分默写有必要背吗
浙江嘉兴亚达不锈钢制造有限公司怎么样,待遇
qq个性姓名,色一点的,跪求。。。
我昨天也遇到这种事!还恐吓我,我没鸟他
问道3TJ电精怎么加点?我是法金还用带什么天技
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?