Domanda

ho bisogno di usare il componente Button dal pannello componenti UI nella IDE Flash, con la proprietà toggle impostato su true.

Se lo uso con uno script linea temporale funziona benissimo.

Se io uso all'interno di una classe (una classe Document), la proprietà selezionata è invertito (Ottengo vero quando non è attivata e viceversa).

Anche se ho impostato levetta false nella finestra di ispezione Proprietà, quindi impostare toggle su true nella classe di documento, traccia ancora fuori come falso. Se io Invalidate, i Spostare le tracce vero, ma la proprietà selezionata ripercorre sempre false.

Codice Timeline è semplice come questo:

bold_b.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
    trace(event.currentTarget.selected);
}

classe documento è semplice così:

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);
            }
        }

    }
}

Al momento sto utilizzando Flash CS3. Ho installato Flash Player 10. Non so la versione dei componenti build ', ma sono stati scritti nel 2007 in Flash Player 9.0.28.0

Qualcuno sa come ottenere intorno a questo?

È stato utile?

Soluzione

e che dire di questo?

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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top