• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2010, 14:47   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 2
Question MovieClip duplizieren

Hallo zusammen!

Ich habe einen MovieClip mit dem Instanznamen/Klassennamen "testClip" in meiner Bibliothek,
welchen ich gerne per AS3 mehrmals auf meiner Bühne anzeigen lassen möchte.

Dafür habe ich mir folgenden Code erarbeitet:

Code:
var boxx:Array = new Array(5);
for(var i:int = 0; i < boxx.length; i++)
{
	trace(i); // ausgabe: 0, 1, 3 ...
	boxx[i] = new testClip();
	boxx[i].x = 50;
	boxx[i].y += 50;
	trace(boxx[i].y); // ausgabe: 50, 50, 50... anstatt 50, 100, 150 ...
	addChild(boxx[i]);
}
Warum erhöht er mir in der for-Schleife boxx[i].y nicht bei jedem Durchgang um 50?
Auf der Bühne ist immer nur der erste Button zu sehen.


Gruß,
DivDax
DivDax ist offline   Mit Zitat antworten
Alt 19-01-2010, 14:55   #2 (permalink)
Neuer User
 
Benutzerbild von mohj
 
Registriert seit: Jan 2009
Beiträge: 423
Du erstellst eine neue Instanz von testClip, daher ist die Koordinate davon (0,0) und 0 + 50 gibt immer 50.

Klassen beginnen übrigens nach Konvention mit einem Grossbuchstaben.

PHP-Code:
boxx[i].= (i+1)*50
mohj ist offline   Mit Zitat antworten
Alt 19-01-2010, 14:56   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 65
Weil es bei jedem Schleifendurchlauf ein neuer MovieClip ist. Du erzeugst jedes mal mit new testClip() eine neue Instanz von testClip, die die y-Position 0 hat und rechnest 50 drauf. Versuch mal

var boxx:Array = new Array(5);
var yPos : int = 0;
for(var i:int = 0; i < boxx.length; i++)
{
trace(i); // ausgabe: 0, 1, 3 ...
boxx[i] = new testClip();
boxx[i].x = 50;
yPos += 50;
boxx[i].y = yPos;
trace(boxx[i].y); // ausgabe: 50, 50, 50... anstatt 50, 100, 150 ...
addChild(boxx[i]);
}
kopfrocker ist offline   Mit Zitat antworten
Alt 19-01-2010, 14:59   #4 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
box[i] wird immer wieder neu geschrieben, drum ist box[i].y immer gleich 0, zählst du 50 ...

PHP-Code:
var boxx:Array = new Array(5);
var 
yPos:Number  0;
for(var 
i:int 0boxx.lengthi++)
{
    
trace(i); // ausgabe: 0, 1, 3 ...
    
yPos += 50;
    
boxx[i] = new testClip();
    
boxx[i].50;
    
boxx[i].yPos;
    
trace(boxx[i].y); // ausgabe: 50, 50, 50... anstatt 50, 100, 150 ...
    
addChild(boxx[i]);

__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as3, duplicate, movieclip

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS3] MovieClip duplizieren I-LoVeRaP Flash Einsteiger 4 30-03-2009 17:38
Movieclip duplizieren, Klonen Rworksdesigner ActionScript 3 8 15-04-2008 13:05
man. erstellten Movieclip in dynamischen Movieclip duplizieren fiveone ActionScript 1 1 25-10-2005 11:18
MovieClip duplizieren!! Damian007 ActionScript 1 7 24-01-2005 19:31
Movieclip duplizieren aliennet Flash MX 2 05-02-2004 19:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele