我该怎么做?
我有树按钮。一次只能选择一个。他们玩不同的动画。
我需要的是将按钮(具有不同的bg颜色,具体取决于其上,下和下状态)设置为向下状态。
简单地说;当点击按钮时,我需要将按钮冻结在它的下行状态。 当我单击其中一个按钮时,它应该返回到正常状态,并且新按钮将被冻结在它的关闭状态。
我正在使用Flash,AS3 ..
谢谢! =)
答案 0 :(得分:2)
简单说明:
当您设置upState = downState以显示已选择某个项目时,您将无法返回原始upState。所以将upState存储为变量是一件非常简单的事情,这样你就可以一直回到它。
//capture upstate as a variable
var buttonUpVar:DisplayObject = button.upState;
//button stays selected or in downState when released.
button.upState = button.downState;
//deselect button by going back to original upState
button.upState = buttonUpVar;
用最少的代码完成。
答案 1 :(得分:1)
尝试使用我链接到的解决方案改编的代码。
private toggledButton:SimpleButton;
private function buttonToggle(button:SimpleButton){
var currDown:DisplayObject = button.downState;
button.downState = button.upState;
button.upState = currDown;
}
private function clickEvent(e:MouseEvent){
if (toggledButton != e.target) {
buttonToggle(e.target);
if (toggledButton)
buttonToggle(toggledButton);
toggledButton = e.target;
}
}
答案 2 :(得分:1)
private function onClick(event:MouseEvent):void {
if(prevSelected) {
//change the skin of selected
}
//save the current selected button
//change the current selected button skin
}