Flash AS3中的颜色选择器
我需要函数外部的Flash AS3中的颜色选择器,flash,actionscript-3,actionscript,flash-cs5,Flash,Actionscript 3,Actionscript,Flash Cs5,我需要函数外部的event.target.hexValue的值。我正在使用Flash CS5中的操作。更新:如果您正在查找所选颜色的值作为uint,则可以直接使用ColorPickerevent.target.selectedColor的属性或ColorPickerEventevent.color的属性 除非您有多个使用相同更改处理程序的颜色选择器,event.target,(准确地说是event.currentTarget)的值与myColor Picker的值相同,可以从函数外部无任何问题
event.target.hexValue的值。我正在使用Flash CS5中的操作。更新:如果您正在查找所选颜色的值作为uint,则可以直接使用ColorPickerevent.target.selectedColor的属性或ColorPickerEventevent.color的属性
除非您有多个使用相同更改处理程序的颜色选择器,event.target
,(准确地说是event.currentTarget
)的值与myColor Picker
的值相同,可以从函数外部无任何问题地访问。因此,您可以在函数外部使用myColorPicker.hexValue
。如果要访问的代码无法访问myColorPicker
,则可以将myColorPicker.hexValue
的值作为参数传递给该函数
如果这不是您想要的,请澄清问题。这就是我想要做的:我希望将myColorPicker.hexValue
的值转换成类似这样的值graphics.Linestyle(2,myColorPicker.hexVale/someVariableName,1)
您想在哪里执行此操作-尝试此操作时是否出现错误?是的,但我现在解决了问题。代码显然不干净,也不容易阅读,但现在已经足够好了。使用属性为什么不将所需的值存储在可在changeHandler函数外部访问的全局变量中?
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);
}
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);
}