Je dois utiliser le composant Button du panneau des composants de l'interface utilisateur dans l'environnement de développement intégré Flash, avec la propriété toggle définie sur true. Si je l'utilise avec un script de montage, cela fonctionne très bien.Comment réparer ce bug potentiel avec le composant Button dans Flash?
Si j'utilise dans une classe (une classe de document), la propriété sélectionnée est inversée (je deviens vrai quand il n'est pas basculé et vice versa).
Si vous définissez également la valeur false dans l'inspecteur des propriétés, définissez toggle sur true dans la classe de document. Si j'invalide, je bascule les traces vrai, mais la propriété sélectionnée trace toujours faux.
code Timeline est aussi simple que cela:
bold_b.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
trace(event.currentTarget.selected);
}
classe de document est simple ainsi:
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);
}
}
}
}
Actuellement, je suis avec Flash CS3. J'ai Flash Player 10 installé. Vous ne connaissez pas la version 'build' des composants, mais ils ont été écrits en 2007 sous Flash Player 9.0.28.0
Est-ce que quelqu'un sait comment contourner ce problème?
veuillez joindre l'échantillon exécutable, la version IDE et la version FlashPlayer, merci. – Eugene
@Eugene J'ai le même comportement avec les composants UIComponents dans Flash CS5 :( –