1
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 中使用动作。

4

2 回答 2

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);
}
于 2010-09-27T13:39:02.763 回答
1

更新:如果您正在寻找选定颜色的值作为 uint,您可以直接使用 ColorPicker 的selectedColor属性event.target.selectedColor或ColorPickerEvent 的color属性event.color


除非您有多个使用相同更改处理程序的颜色选择器,否则event.target(或者event.currentTarget更准确地说)的值与myColorPicker可以从函数外部毫无问题地访问的值相同。因此,您可以myColorPicker.hexValue在函数外部使用。如果您要访问 this 的代码无权访问myColorPicker,则可以将 的值myColorPicker.hexValue作为参数传递给该函数。

如果这不是您想要的,请澄清问题。

于 2010-09-23T08:40:37.867 回答