Flashhilfe.de - Flash Community

Lokale und globale, dynamisch erstellte Movieclips [Flash 11]

 


AntwortenRegistrieren Seite1  

eikjuh#1
Benutzerbild von eikjuh
Beiträge: 6
Registriert: Sep 2011

28.11.2011, 19:12

Hi !

Zur Laufzeit sollen anhand von Objekten, Movieclips erstellt werden, die jedoch nur unter bestimmten Bedienungen gezeichnet werden sollen. Klar, dass dabei der Code verschachtelt ist.

Urvater aller dynamisch erstellten Movieclips ist ein in der Bibliothek befindlicher Movieclip Namens "keil" (Klasse: Keil). Sobald nun die besagten Konstellationen eintreten soll eine Instanz von "keil" gezeichnet werden. Mittels stage.addChild(keil); funktioniert das auch. Doch scheinbar existiert der frisch gezeichnete MC nur innerhalb des Blockes, wird später in einem anderen Block auf den MC zugegriffen kommt folgende Fehlermeldung: 

TypeError: Error #1009: Cannot access a property or method of a null object reference.
Im Code: ....if(mc_keil.name == keile_array[p].getID())...

Wie kann ich das jetzt am besten regeln? Das Problem ist nämlich, das ich zur Laufzeit nicht weiß, wie viele MC´s eventuell erstellt werden. Alle vorher zu erstellen (global) wäre Speichertechnisch ungeschickt.

Danke für folgende Antworten!
Schlagwörter: global, lokal, Movieclip
Werbung
Beiträge: 0
Registriert: Feb 2016


ashitaka#2
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

29.11.2011, 12:23

ich würde sagen du müsstest uns ein bisschen mehr von deinem code zeigen.
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
eikjuh#3
Benutzerbild von eikjuh
Beiträge: 6
Registriert: Sep 2011

Themenautor/in

04.12.2011, 17:11

Hat sich erledigt, habe es hinbekommen :)
vindel#4
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

05.12.2011, 10:19

Könntest du hier noch posten wie du es geschafft hast - So kannst du anderen mit einem ähnlichen Problem helfen.
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
Werbung
Beiträge: 0
Registriert: Feb 2016


eikjuh#5
Benutzerbild von eikjuh
Beiträge: 6
Registriert: Sep 2011

Themenautor/in

02.01.2012, 18:35

Lösung: Objekte die Global benötigt werden, einfach in einem Array abspeichern, welches am besten "gleich zu Beginn" des Programms erstellt wurde. Zur Laufzeit kann dann immer wieder auf das entsprechende Array mit den Objekten zugegriffen werden.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Array fuer die Keile - Global angelegt
var keile_array:Array = new Array ();
.....
.....
{
  .....
       {
            //Array befuellen - lokale Aktionen
          .....
            {
                 .....
                 where.the.magic.happens();
                 .....
                 .....


Somit kann in jedem noch so verschachtelten Code immer auf die Elemente zugegriffen werden. Eigentlich ziemlich trivial ;) Andersherum geht das natürlich nicht.

Um an die Objekte in dem Array heranzukommen wird einfach eine for-Schleife gebastelt und anhand einer ID des Objektes wird dann nach dem Objekt im Array gesucht.

Hope that helps!
Geändert von eikjuh am 02.01.12 um 18:38 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de