Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-08-2005, 14:34   #1 (permalink)
bitchboy
 
Registriert seit: Mar 2004
Ort: München
Beiträge: 126
duplizierte mc's per as in 3 spalten platzieren

hi,

ich dupliziere den mc projektx gerade so oft, wie die zahl in der variable _root.anzahl angibt. jetzt sollen die mcs folgendermaßen verteilt werden:

projekt1 auf x=30 und y=50
projekt2 auf x=160 und y=50
projekt3 auf x=290 und y=50
projekt4 auf x=30 und y=130
projekt5 auf x=160 und y=130
projekt6 auf x=290 und y=130
usw.

wie stelle ich denn jetzt am besten fest, wo der duplizierte mc hin soll? bisher sollten die mcs nur in zwei spalten, da hab ich halt nach gerade/ungerade sortiert, aber das geht hier ja nicht mehr. mein bisheriges script sah so aus:
ActionScript:
  1. if (int(n / 2) == n / 2) {
  2.                 _root[newName]._x = 172;
  3.                 _root[newName]._y = 61 + (80 * (n - 2));
  4.                 _root[newName].projekt_name = projektname;
  5.                 _root[newName].projekt_pic.loadMovie(pfad + projektpicture);
  6.             } else {
  7.                 _root[newName]._x = 30;
  8.                 _root[newName]._y = 61 + (80 * (n - 1));
  9.                 _root[newName].projekt_name = projektname;
  10.                 _root[newName].projekt_pic.loadMovie("picts_projekte/" + projektpicture);
  11.             }

jetzt stehe ich aber total auf dem schlauch. kann mir da bitte jemand von euch weiterhelfen?
__________________
cheers,
alex
---
http://www.destinationdesign.de

Geändert von Trumpfass (23-08-2005 um 14:56 Uhr)
Trumpfass ist offline   Mit Zitat antworten
Alt 23-08-2005, 15:10   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: München
Beiträge: 133
zum beispiel ungefähr so:
ActionScript:
  1. xStart = 30;
  2. xDif = 130;
  3. yStart = 50;
  4. yDif = 80;
  5. for (i = 0,x = 0, y = 0; i<anzahl; i++,x++) {
  6.     // duplicate mc i
  7.     if (x == 3){
  8.         x = 0;
  9.         y++;
  10.     }
  11.     this["mc"+i]._x = xStart + x*xDif;
  12.     this["mc"+i]._y = yStart +y*yDif;
  13. }
die mcs werden in ner schleife dupliziert (oder hinterher in ner schleife durchlaufen, geht auch) und immer wenn die maximale anzahl an mcs in einer reihe erreicht ist (x == 3), brichst du um: x wieder auf 0 setzen, y eins höher.

und statt
ActionScript:
  1. int(n/2) == n/2
geht auch einfacher
ActionScript:
  1. n%2 == 0 // rest der division durch 2 ist 0
  2.  
hoffe, das geht, hab grad kein testflash da...
astro-susi ist offline   Mit Zitat antworten
Alt 23-08-2005, 15:59   #3 (permalink)
bitchboy
 
Registriert seit: Mar 2004
Ort: München
Beiträge: 126
hat gefunzt, vielen dank
__________________
cheers,
alex
---
http://www.destinationdesign.de
Trumpfass ist offline   Mit Zitat antworten
Alt 23-08-2005, 16:39   #4 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
ganz einfach:
x = i%spalten*x_abstand;
y = int(i/spalten)*y_abstand
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele