AS3改变显示对象亮度

import flash.display.DisplayObject
import flash.geom.ColorTransform

//value取值范围-1~1,对应Flash内容制作工具里的-100%-100%
publicfunction setBrightness(obj:DisplayObject,value:Number):void {
var colorTransformer:ColorTransform = obj.transform.colorTransform
var backup_filters:* = obj.filters
if (value >= 0) {
colorTransformer.blueMultiplier = 1-value
colorTransformer.redMultiplier = 1-value
colorTransformer.greenMultiplier = 1-value
colorTransformer.redOffset = 255*value
colorTransformer.greenOffset = 255*value
colorTransformer.blueOffset = 255*value
}else {
value=Math.abs(value)
colorTransformer.blueMultiplier = 1-value
colorTransformer.redMultiplier = 1-value
colorTransformer.greenMultiplier = 1-value
colorTransformer.redOffset = 0
colorTransformer.greenOffset = 0
colorTransformer.blueOffset = 0
}
  obj.transform.colorTransform = colorTransformer
  obj.filters = backup_filters
}
posted on 2012-02-25 08:09  唐朝  阅读(1112)  评论(0编辑  收藏  举报