ColorPicker в AS3 - PullRequest
       25

ColorPicker в AS3

1 голос
/ 23 сентября 2010
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.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010
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 голос
/ 23 сентября 2010

Обновление: если вы ищете значение выбранного цвета как uint, вы можете напрямую использовать свойство selectedColor ColorPicker event.target.selectedColor или color свойства ColorPickerEvent event.color


Если у вас нет нескольких палитр цветов, использующих один и тот же обработчик изменений, значение event.target (или event.currentTarget, если быть точным) будет таким же, как myColorPicker, к которому можно получить доступ извне функции без каких-либо проблем , Следовательно, вы можете использовать myColorPicker.hexValue вне функции. Если код, к которому вы хотите получить доступ, не имеет доступа к myColorPicker, вы можете передать значение myColorPicker.hexValue этой функции в качестве параметра.

Если это не то, что вы хотели, уточните вопрос.

...