2016-03-22 37 views
-1

Ich bin neu in AS3 und möchte fragen, wie man auf Variablen in MovieClips mit seinem Namen zugreifen kann. in der RegelZugriff auf Variablen innerhalb von MovieClip (AS3)

in AS2, verwende ich seine Instanzname von .(name of variable)

zum Beispiel gefolgt ... ich eine Variable namens Baru in einem MovieClip- my_mc benannt haben. Normalerweise verwende ich my_mc.baru, um den Wert der Variablen anzuzeigen.

Nun möchte ich wissen, wie es in AS3 zu tun

Danke.

+0

Auf die gleiche Weise ... – Marty

+0

MovieClipName.variableName – kare

Antwort

0

In AS3 es gibt ein paar separaten, aber miteinander verbundene Dinge, die Sie bewusst sein müssen:

  • Alle Anzeigeobjekte (einschließlich MovieClip) eine name Eigenschaft haben kann.

    var mc:MovieClip = new MovieClip(); 
    mc.name = "myMC"; 
    myContainer.addChild(mc); 
    
  • Sie können ein Kind durch seine name mit getChildByName() auf seine Eltern finden.

    var myMC:MovieClip = myContainer.getChildByName("myMC"); 
    
  • MoveClip Instanzen können dynamic properties haben, die Kinder zeigen (oder überhaupt etwas).

    myContainer.myMC = myMC; 
    

    (Beachten Sie, dass andere Objekttypen Anzeige, wie Sprite, tun nicht dynamischen Eigenschaften ermöglichen. Stattdessen müssen Sie mit Klasseneigenschaften eine benutzerdefinierte Klasse erstellen.)

  • Wenn Sie eine Anzeige erstellen Objekt im Code (wie oben gezeigt), wird weder die name noch eine Eigenschaft auf dem Eltern erstellt. Sie können es manuell tun, wie oben gezeigt.

  • Wenn Sie eine Symbolinstanz im Authoring-Tool platzieren und geben ihm eine „Instanz Name“, beide die nameund eine Eigenschaft auf dem übergeordneten Symbol wird von diesem „Instanzname“ zugeordnet werden. In diesem Fall dürfen Sie den Code name nicht ändern.

  • Beachten Sie, dass in AS2 createEmptyMovieClip oder attachMovie mit dem _name und erstellen Sie eine Eigenschaft auf der übergeordneten würde zuweisen, aber es gibt keine AS3 Äquivalent zu diesen Funktionen. Hier kann viel Verwirrung entstehen.

So wie Sie die Art und Weise funktioniert das sehen kann, ist wirklich nicht anders als AS2, mit der Ausnahme, dass AS2 Funktionen hatte, die für Sie einige Dinge tat (erstellen und fügen Sie den MovieClip-, stellen Sie den name und eine Eigenschaft auf der hinzufügen Elternteil). Das Problem mit AS2 bestand darin, dass Sie ein Objekt nach der Erstellung nicht erneut ablösen konnten, was eine große Einschränkung darstellt. In AS3 können Sie Dinge frei bewegen.

-1

Wenn Sie nur Code innerhalb des MovieClip schreiben möchten, aber kein * .as, müssen Sie ein TextField im MovieClip von Hand hinzufügen, legen Sie den Typ auf Dynamisch fest, geben Sie den Variablenstring ein und holen Sie ihn dann benutze: MovieClip.TextField.text und vergiss nicht: TextField.alpha = 0.

Es ist kein weiser Weg.

Verwandte Themen