Pregunta

Qué necesito para utilizar el componente Button desde el panel Componentes de interfaz de usuario en el IDE de Flash, con el conjunto de propiedades toggle en true.

Si lo uso con una línea de tiempo de la escritura funciona muy bien.

Si uso dentro de una clase (una clase de documento), la propiedad seleccionada es invertida (Me da cierto cuando no está conmutado y viceversa).

También si fijo de palanca en false en el inspector de propiedades, a continuación, establecer toggle en true en la clase de documento, todavía traza como falso. Si invalido, i Mueva rastros cierto, pero la propiedad seleccionada siempre traza falsa.

código de la línea de tiempo es tan simple como esto:

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

clase de documento es simple, así:

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

    }
}

Actualmente estoy usando Flash CS3. Tengo Flash Player 10 instalado. No sabe 'construir' la versión de los componentes, pero que fueron escritos en 2007 bajo Flash Player 9.0.28.0

¿Alguien sabe cómo conseguir alrededor de esto?

¿Fue útil?

Solución

y qué pasa con esto?

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;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top