Ola, sto usando Flex Builder 3. Ecco il codice:
Ok, spiego esattamente il problema dove sta. Stavo realizzando un semplice menu a comparsa quando ci passi sopra col mouse. Inizialmente il problema era che quando passavo sul Canvas ed il mouse si trovava su un button praticamente perdeva l'evento mouseOver del canvas e praticamente è come se si verificasse un MouseOut.Codice PHP:<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" >
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
import mx.controls.Alert;
private function open():void{
tendina.stop();
tendina.duration=1000;
tendina.xFrom=menuslide.x;
tendina.xTo=0;
tendina.play();
}
private function close():void{
tendina.stop();
tendina.duration=1000;
tendina.xFrom=menuslide.x;
tendina.xTo=-240;
tendina.play();
}
public function clicked(event:MouseEvent):void{
Alert.show(event.target.id);
}
public function init():void{
var Buttons:Array = menus.getChildren();
menuslide.addEventListener(MouseEvent.CLICK, clicked);
for each( var s:Button in Buttons){
s.addEventListener(MouseEvent.CLICK, clicked);
}
}
]]>
</mx:Script>
<mx:Move id="tendina" target="{menuslide}" />
<mx:Panel id="pannello" layout="absolute" title="STOCAZZO.com"
width="95%" height="95%" paddingTop="5" paddingLeft="10"
paddingRight="10" paddingBottom="5" >
<mx:Canvas id="menuslide" backgroundColor="#CBCBCB" borderStyle="solid" x="-240"
mouseChildren="false" mouseOver="open();" mouseOut="close();" initialize="init();">
<mx:HBox id="menus" width="100%">
<mx:Button id="Button1" label="Ciao1"/>
<mx:Button id="Button2" label="Ciao2"/>
<mx:Button id="Button3" label="Ciao3"/>
<mx:Button id="Button4" label="Ciao4"/>
<mx:Button id="Button5" label="Ciao5"/>
</mx:HBox>
</mx:Canvas>
</mx:Panel>
</mx:Application>
Quindi ho usato la proprietà mouseChildren sul canvas in modo da annullare l'attivazione dell'evento quando passava sui button.
Ed ha iniziato a funzionare correttamente.
Lo step successivo sarebbe stato quello di abilitare il click dei bottoni...ma così come l'ho fatto sopra non va. L'evento click si verifica sul canvas e non sui bottoni. Come posso risolvere la cosa?


Rispondi quotando