2011-06-19 1 views
0

J'entre dans actionscript3 et je me demandais s'il y avait un moyen de créer une fonction de type 'onclick' qui retourne un identifiant ou un nom d'instance. Par exemple, dans jQuery, vous pouvez faire ce qui suit, ce qui est idéal pour passer ensuite l'identifiant dans un tableau ou tout ce que vous choisissez.existe-t-il une fonction ou une méthode actionscript pour renvoyer un nom d'occurrence d'élément?

$('.menuButton').click(function(){ 
var collectedID = $(this).attr('id'); 

Existe-t-il un équivalent dans AS3? Je suppose que saisir le nom de l'instance serait le but? Je n'ai pas encore rencontré d'identifiants dans Flash. Merci beaucoup à tous.

+0

On m'a posé une question similaire ici: [lien] (http://stackoverflow.com/questions/3124848/flash-actionscript-3-get-all-movieclips-that-are-containing-in-a -movieclip/3124917 # 3124917) Il suffit de créer un bouton et d'y ajouter un écouteur d'événement - le premier exemple de code devrait vous envoyer dans la bonne direction. Tout est dans AS3. – Ian

Répondre

1

Flash n'a pas d'éléments ou d'identifiants. Un nom d'instance peut être récupéré simplement par callong foo.name.

Peut-être que la chose la plus proche de ce que vous voulez faire est d'ajouter un écouteur pour MouseEvent.CLICK à la ligne de temps principale et thentrace event.target.name. jouez avec et voyez ce que vous trouvez.

Le style précis de codage que vous voyez dans jquery ne s'applique pas vraiment à AS3. Cela aurait peut-être mieux fonctionné dans as2, car as2 était beaucoup plus proche de JS que de as3.

+0

hey merci beaucoup scriptoclpse. J'ai juste découvert le event.target.name comme 20 secondes avant de lire ceci. – NickG77

0

Dans AS3, vous n'utilisez pratiquement jamais le nom d'occurrence d'un objet DisplayObject. Vous passeriez très probablement la référence à l'objet.

private function clickHandler(e:MouseEvent):void 
{ 
    myArray.push(e.target); 
} 
addEventListener(MouseEvent.CLICK, clickHandler); 
Questions connexes