import fl.controls.ColorPicker;
import fl.events.ColorPickerEvent;
var myColorPicker:ColorPicker = new ColorPicker();
myColorPicker.addEventListener(ColorPickerEvent.CHANGE, changeHandler);
myColorPicker.move(10, 10);
addChild(myColorPicker);
function changeHandler(event:ColorPickerEvent) {
trace("color changed:", event.color, "(#" + event.target.hexValue + ")");
trace(myColorPicker.hexValue);
}
我需要函数外的event.target.hexValue
值。我正在使用Flash CS5中的操作。
答案 0 :(得分:2)
var borderColor:uint = 0x000000;
var myColorPicker:ColorPicker = new ColorPicker();
myColorPicker.editable = true;
myColorPicker.move(10, 10);
addChild(myColorPicker);
myColorPicker.addEventListener(ColorPickerEvent.CHANGE, changeHandler);
function changeHandler (event:ColorPickerEvent):void {
var newuint = uint("0x"+event.target.hexValue);
borderColor = newuint;
graphics.lineStyle(2,borderColor,1);
}
答案 1 :(得分:1)
更新:如果您要查找所选颜色的值作为uint,则可以直接使用ColorPicker event.target.selectedColor
的{{3}}属性或ColorPickerEvent的selectedColor属性{{1 }}
除非您有多个使用相同更改处理程序的颜色选择器,否则event.color
的值(或准确的event.target
)与可以从中访问的event.currentTarget
相同功能之外没有任何问题。因此,您可以在函数外部使用myColorPicker
。如果您要访问此代码的代码无法访问myColorPicker.hexValue
,则可以将myColorPicker
的值作为参数传递给该函数。
如果这不是您想要的,请澄清问题。