2010-09-15 6 views
1

J'ai créé une interface utilisateur dans Flash IDE, j'ai exporté de nombreux objets pour ActionScript et j'ai programmé l'application avec un fichier .as de classe document externe. Dans l'IDE Flash, je ne souhaite pas que mes curseurs ou textField aient des options d'accessibilité. J'ouvre le panneau Accessibilité (Fenêtre> Autres panneaux> Accessibilité) et, lorsque la scène est sélectionnée, je désélectionne «Rendre le film accessible». enregistrer. compiler. Erreur d'exécution:Flash/ActionScript - Désactivation de l'accessibilité

~/myCustomClass.as, Line 4 1180: Call to a possibly undefined method AccessibilityProperties. 

ligne 4 est une importation simple:

import flash.display.Sprite; 

Comment puis-je résoudre ce problème?

MISE À JOUR:

ajoutant les importations suivantes à mes .as supprime l'erreur d'exécution:

import flash.accessibility.AccessibilityProperties; 
import flash.accessibility.Accessibility; 

cependant, l'application permet encore tabbing. Comment puis-je désactiver complètement l'accessibilité?

J'ai essayé:

Sprite.prototype.tabEnabled = false; 

mais cela ne fonctionne pas.

Répondre

1

La scène ne fonctionnera pas, mais vous devriez pouvoir le faire avec root. Dans l'IDE Flash, sur le scénario principal, ajoutez ceci:

 
var main:MovieClip = this.root as MovieClip(); 
main.tabEnabled = false; 
main.tabChildren = false; 
+1

merci, cela a fonctionné. Je devais juste ajouter this.tabChildren = false; à mon cours principal. – TheDarkIn1978

0

essayer:

stage.tabEnabled = false; 
stage.tabChildren = false; 

Parce que chaque objet d'affichage est un enfant de la scène, il faut l'arrêter au niveau mondial.

MISE À JOUR:

Parce que vous ne pouvez pas définir la propriété tabEnabled sur la scène, vous pouvez passer en boucle tous les enfants sur elle et l'appliquer à eux.

for(var:int; i < stage.numChildren; i++) { 
    var c:DisplayObject = stage.getChildAt(i); 

    if(c is InteractiveObject) { 
     InteractiveObject(c).tabEnabled = false; 
    } 

    if(c is DisplayObjectContainer) { 
     DisplayObjectContainer(c).tabChildren = false; 
    } 
} 
+0

ne fonctionne pas. J'ai reçu une erreur d'exécution pour essayer de définir la scène avec la propriété tabEnabled. il a accepté tabChildren mais il me permet toujours de tabuler. – TheDarkIn1978

+0

Pouvez-vous poster l'erreur? Je viens de faire un test rapide et ça marche comme je m'y attendais, pas d'erreurs. –

+0

Erreur: Erreur # 2071: La classe Stage n'implémente pas cette propriété ou méthode. à Error $/throwError() à flash.display :: Stage/set tabEnabled(). il indique également dans la documentation qu'un IllegalOperationError sera levé si tabEnabled est défini sur la scène: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Stage.html – TheDarkIn1978

Questions connexes