Flashhilfe.de - Flash Community

N00b: mit addChild mehr als eine Kopie desselben Objekts erzeugen. [Flash 10]

 


AntwortenRegistrieren Seite1  

driven1978#1
Benutzerbild von driven1978
Beiträge: 2
Registriert: Oct 2011

17.10.2011, 15:33

Hallo.
Ich schaff es nicht, mehr als eine Instanz desselben Objekts in einem Container zu erzeugen: Mit dem 2. "AddChild" scheint das zuerst geaddete Child gelöscht zu werden. Wo ist mein Fehler? Wie kann ich ihn beheben?

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
var container:Sprite = new Sprite();
addChild(container);
var MainStage_mc_001:MainStage_mc = new MainStage_mc();
MainStage_mc_001.x = StageWidth / 2;
MainStage_mc_001.y = StageHeight / 2;
MainStage_mc_001.alpha = 1;
MainStage_mc_001.name = "MainStage00";
container.addChild(MainStage_mc_001);
MainStage_mc_001.x = StageWidth / 2 +50;
MainStage_mc_001.y = StageHeight / 2 +50;
MainStage_mc_001.name = "MainStage01";
container.addChild(MainStage_mc_001); // Hier überschreibt er einfach das 1. Child!


Zugehörige Dateien: wo ist die 2. instanz.fla (283.54 KB), wo ist die 2. instanz.swf (10.64 KB).

Wie krieg ichs hin, da beliebig viele Kopien auf die Bühne zu zaubern, die ich am besten alle noch eindeutig ansprechen kann (viell. über MainStage_mc_001.name)?

VLG, Danke im Voraus.
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

17.10.2011, 17:05

Servus
So wie Du das Probierst, kann das auch nicht gehen, erstens weil die strage-Geschichte falsch ist,
und zweitens sich Deine Objecte überschreiben.
Musst das zweite, in der Variable anders Deklarieren, oder das ganze i einem Loop auf die Bühne holen.
Loop-Variante:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
var container:Sprite = new Sprite();
addChild (container);
var howMany:uint = 5;

for (var i:uint =0; i<howMany; i++)
{
     var MainStage_mc_002:MainStage_mc = new MainStage_mc();
     MainStage_mc_002.x = stage.stageWidth / 2 + (50*i);
     MainStage_mc_002.y = stage.stageHeight / 2 + (50*i);
     MainStage_mc_002.alpha =0.1*i;
     MainStage_mc_002.name = "MainStage0" + i.toString();
     container.addChild (MainStage_mc_002);
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
driven1978#3
Benutzerbild von driven1978
Beiträge: 2
Registriert: Oct 2011

Themenautor/in

17.10.2011, 18:55

Vielen Dank für die prompte Hilfe! Und: Du hast mir erklärt worans lag! *froi* Allthumbsup.

AntwortenRegistrieren Seite1  

Schnellantwort

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

 
Ähnliche Beiträge zum Thema
Ein PC und drei Monitore [Flash CS5] 10.09.2017 - Herzenslicht
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