2010-06-23 50 views
0

我有一个文本字段和背景,并且想要应用颜色使用AS3使用变量与变换

myColorPicker。可以使用

radioGroup1选择文本字段或背景。当选择任一单选按钮时,跟踪语句

准确地跟踪变量obj2Clr。但是,当我使用变量

与变换,我不能应用颜色。如果我硬编码并使用实际的对象,那么它就起作用。

难道我不能在Transform中使用变量或者是否有其他缺失?

我的代码是下面:

var radioGroup1:RadioButtonGroup = new RadioButtonGroup("selObj"); 
bkg_rb.label = "Background"; 
text_rb.label = "Text"; 
bkg_rb.group = radioGroup1; 
text_rb.group = radioGroup1; 

var obj2Clr;//which object to apply color to 

radioGroup1.addEventListener(MouseEvent.CLICK, getObj); 
function getObj(e:MouseEvent):void { 

如果(bkg_rb.selected == TRUE){ obj2Clr = “影片剪辑(父).design_mc.bkg_mc”; trace(obj2Clr); } else if(text_rb.selected == true){obj2Clr =“MovieClip(parent).design_mc.info_txt”; trace(obj2Clr); }}

var colorTrans:ColorTransform = new ColorTransform(); 

var trans:Transform = new Transform(obj2Clr); 
//var trans:Transform = new Transform(MovieClip(parent).design_mc.info_txt); 
myColorPicker.addEventListener(ColorPickerEvent.CHANGE, changeColor); 

function changeColor(event:ColorPickerEvent):void { 
var myColor = "0x" + event.target.hexValue; 
colorTrans.color = myColor; 
trans.colorTransform = colorTrans; 
trace("color selected is " + myColor); 

} 

感谢您的帮助提前:)

黛比d

回答

0

根据这个代码,obj2Clr被用于字符串初始化?

例如,不应该这个片段:

if (bkg_rb.selected == true) { 
    obj2Clr = "MovieClip(parent).design_mc.bkg_mc"; 
    trace(obj2Clr); 
} 

是:

if (bkg_rb.selected == true) { 
    obj2Clr = MovieClip(parent).design_mc.bkg_mc; 
    trace(obj2Clr); 
} 

0

谢谢,是的,我想我不得不使用字符串字面量变换,因为追查出来的变量不带引号,使其成为一个字面导致[对象的MovieClip]和[对象文本字段。

所以我删除了引号,而Transform仍然没有收到新的Transform对象。然而,当我硬编码(在上面的例子中被注释掉了)一切都很好。我应该检查的其他任何区域?

Debbie D :)