У меня есть HGroup с несколькими кнопками внутри, которые являются меню моего приложения.
<s:HGroup id="nav">
<s:Button id="homeButton" label="Home" />
<s:Button id="showroomButton" label="Showroom" />
<s:Button label="Catalogue" />
<s:Button label="Offers" />
<s:Button label="My Account" />
<s:Button label="My Orders" />
</s:HGroup>
Что я хочу, так это когда я нажимаю, например, #homeButton, чтобы изменить его состояние на «over», отключить его и сбросить все остальные кнопки в состояние «up».
Я написал эту функцию
private function resetNavState():void {
for(var i:int = 0,ii:int = nav.numChildren-1;i<ii;i++) {
Button(nav.getChildAt(i)).mouseEnabled = true;
Button(nav.getChildAt(i)).skin.setCurrentState("up",true);
}
}
А затем в обработчике кликов homeButton, например, я использую
protected function homeButton_clickHandler(event:MouseEvent):void
{
resetNavState();
currentState = "home";
homeButton.skin.setCurrentState("over",true);
homeButton.mouseEnabled = false;
}
Я сбрасываю состояния кнопок #nav, но это не меняет состояние нажатой кнопки.
Есть идеи?
Спасибо заранее