我需要使用Flash IDE中UI组件面板中的Button组件,并将toggle属性设置为true。
如果我将它与时间轴脚本一起使用,那么效果很好。
如果我在一个类(文档类)中使用,则所选属性将被反转 (当它没有切换时我会成真,反之亦然)。
此外,如果我在Property Inspector中将切换设置为false,然后在文档类中将切换设置为true,它仍然会显示为false。如果我无效,我切换跟踪true,但是 所选属性始终为false。
时间轴代码就像这样简单:
bold_b.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
trace(event.currentTarget.selected);
}
文档类也很简单:
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class ButtonTester extends MovieClip
{
public function ButtonTester()
{
//in timeline works fine, in class it's the other way around
bold_b.addEventListener(MouseEvent.CLICK, onClick);
bold_b.toggle = true;
bold_b.invalidate('toggle',true);
bold_b.drawNow();
stage.invalidate();
trace('bold_b.toggle: ' + bold_b.toggle);
function onClick(event:MouseEvent):void {
trace(event.currentTarget.selected);
}
}
}
}
目前我正在使用Flash CS3。我安装了Flash Player 10。不知道组件的“构建”版本,但它们是在2007年的Flash Player 9.0.28.0下编写的
有谁知道怎么解决这个问题?
答案 0 :(得分:1)
这是怎么回事?
import fl.controls.Button;
var myButton:Button = new Button();
myButton.toggle = true;
myButton.selected = true;
myButton.label = "selected:" + myButton.selected;
myButton.width = 120;
myButton.move(10, 10);
myButton.addEventListener(Event.CHANGE, changeHandler);
addChild(myButton);
function changeHandler(event:Event):void {
var myBtn:Button = event.currentTarget as Button;
myBtn.label = "selected:" + myBtn.selected;
}