Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-10-2003, 17:56   #1 (permalink)
perl -e
 
Benutzerbild von roooot
 
Registriert seit: Jun 2002
Ort: Regensburg
Beiträge: 1.726
mc verschieben.

hallo,

also ich hab folgendes problem:
ich habe da einen mc und in diesem mc erstelle ich verschiedene andere mcs mit attachMovie(). funktioniert sofern ganz gut, allerdings schlägt es dann schief, wenn ich die mit attachMovie() mcs verschieben will, dass heißt um 10 px nach links. er erkennt zwar die neue position jedoch setzt er diese dann nicht.( sprich smallerX ist mit neuen werten gefüllt, wie gewünscht um 10 px kleiner als die aktuelle X-position)

da ich es nicht so gut erklären kann, hier mal der code:
ActionScript:
  1. stop();
  2. this.createEmptyMovieClip("mc", 1);
  3. mc._y = 0;
  4. mc._x = 0;
  5.  
  6. nextX = mc._width;
  7. counter = "0";
  8.  
  9. bauen = function () {
  10.     mc.attachMovie("ani-teil", "teil" add counter, counter);
  11.     // X und Y positionen setzen:
  12.     mc["teil" add counter]._x = nextX;
  13.     mc["teil" add counter]._y = 0;
  14.     // höher zählen:
  15.     nextX += math.floor(mc["teil" add counter]._width + 1);
  16.     trace("Teil Nr. " + counter + " fertig @ X: " + nextX);
  17.     counter++;
  18.     trace(nextX);
  19.     if (counter > "30") {
  20.         clearInterval(Intervall);
  21.         trace("******************");
  22.         verschiebenAufruf();
  23.     }
  24. };
  25. Intervall = setInterval(bauen, 50);
  26.  
  27. function verschiebenAufruf() {
  28.    
  29.     counter = "0";
  30.     verschieben = function () {
  31.         // neue position:
  32.         smallerX = mc["teil" add counter]._x - mc["teil" add counter].width;
  33.         trace("Teil Nr. " + counter + " wird verschoben @ X: " + smallerX);
  34.         // neue position setzen:
  35.         mc["teil" add counter]._x = smallerX;
  36.         mc["teil" add counter]._y = 0;
  37.         counter++;
  38.         if (counter > "30") {
  39.             clearInterval(Intervall);
  40.             trace("******************");
  41.         }
  42.     };
  43.     Intervall = setInterval(verschieben, 10);
  44. }
falls erwünscht kann ich auch nochmal das problem als fla anhängen.

danke schonmal
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
- Bugzilla User
roooot ist offline   Mit Zitat antworten
Alt 16-10-2003, 18:19   #2 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
die add würde ich zu + ändern.
und da fehlt ein kleiner strich _width .
ActionScript:
  1. smallerX = mc["teil" + counter]._x - mc["teil" + counter]._width;
__________________
gruß Harry

Geändert von HAY (16-10-2003 um 18:20 Uhr)
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 18:34   #3 (permalink)
perl -e
 
Benutzerbild von roooot
 
Registriert seit: Jun 2002
Ort: Regensburg
Beiträge: 1.726
hay danke. krullemuck son doofer strich..... warum macht flash denn width auch in dem blau wie die richtigen befehle grrts....
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
- Bugzilla User
roooot ist offline   Mit Zitat antworten
Alt 16-10-2003, 19:06   #4 (permalink)
perl -e
 
Benutzerbild von roooot
 
Registriert seit: Jun 2002
Ort: Regensburg
Beiträge: 1.726
hab das ganze mal erweitert, denn wenn ein mit attachMovie geladener mc die x-postion 0 hat, dass der dann wieder zum ende gesetzt wird.
naja sieht ein wenig schief aus, die abstände sollen ja immer gleich bleiben...naja tun sie nicht ganz.

ActionScript:
  1. stop();
  2. this.createEmptyMovieClip("mc", 1);
  3. mc._y = 0;
  4. mc._x = 0;
  5.  
  6. nextX = mc._width;
  7. counter = "0";
  8.  
  9. bauen = function () {
  10.     mc.attachMovie("ani-teil", "teil" + counter, counter);
  11.     // X und Y positionen setzen:
  12.     mc["teil" + counter]._x = nextX;
  13.     mc["teil" + counter]._y = 0;
  14.     // höher zählen:
  15.     nextX += math.floor(mc["teil" + counter]._width + 1);
  16.     trace("Teil Nr. " + counter + " fertig @ X: " + nextX);
  17.     counter++;
  18.     trace(nextX);
  19.     if (counter > "30") {
  20.         clearInterval(Intervall);
  21.         trace("******************");
  22.         verschiebenAufruf();
  23.     }
  24. };
  25. Intervall = setInterval(bauen, 50);
  26.  
  27. function verschiebenAufruf() {
  28.        
  29.         verschieben = function () {
  30.                 // neue position:
  31.                 for(teil in mc) {
  32.                     counter = "0";
  33.                     smallerX = math.floor(mc[teil]._x - mc[teil]._width);
  34.                     trace("Teil Nr. " + counter + " wird verschoben @ X: " + smallerX);
  35.                     // neue position setzen:
  36.                     if (smallerX >= "0") {
  37.                         mc[teil]._x = smallerX;
  38.                         mc[teil]._y = 0;
  39.                     }
  40.                     else {
  41.                         mc[teil]._x = math.floor(mc._width-1);
  42.                         mc[teil]._y = 0;
  43.                     }
  44.                     counter++;
  45.                     if (counter == "30") {
  46.                         clearInterval(Intervall);
  47.                         trace("******************");
  48.                  }
  49.                 }      
  50.                
  51.         };
  52.         Intervall = setInterval(verschieben, 20);
  53. }

hab z.z. keinen webspace sry deswegen nur als anhang.
Angehängte Dateien
Dateityp: zip problem.zip (757 Bytes, 7x aufgerufen)
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
- Bugzilla User

Geändert von roooot (16-10-2003 um 19:27 Uhr)
roooot ist offline   Mit Zitat antworten
Alt 16-10-2003, 19:15   #5 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
kann deine zip nicht lesen.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 19:27   #6 (permalink)
perl -e
 
Benutzerbild von roooot
 
Registriert seit: Jun 2002
Ort: Regensburg
Beiträge: 1.726
***gefixt***
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
- Bugzilla User
roooot ist offline   Mit Zitat antworten
Alt 16-10-2003, 21:18   #7 (permalink)
perl -e
 
Benutzerbild von roooot
 
Registriert seit: Jun 2002
Ort: Regensburg
Beiträge: 1.726
oke leute das hat sich erledigt, neues problem:
die balken verschieben sich jetzt, allerdings liegen immer die 1. beiden aufeinerander, also haben die selbe x-koordinate, dadurch ensteht ein loch. das sieht ein wenig unschön aus. wie kann ich umgehen, dass 2 mcs (balken) die selbe x-koord. haben?

ActionScript:
  1. stop();
  2. this.createEmptyMovieClip("mc", 1);
  3. mc._y = 0;
  4. mc._x = 0;
  5. nextX = mc._width;
  6. counter = "0";
  7. bauen = function () {
  8.     mc.attachMovie("ani-teil", "teil" + counter, counter);
  9.     // X und Y positionen setzen:
  10.     mc["teil" + counter]._x = nextX;
  11.     mc["teil" + counter]._y = 0;
  12.     // höher zählen:
  13.     nextX += math.floor(mc["teil" + counter]._width + 1);
  14.     trace("Teil Nr. " + counter + " fertig @ X: " + nextX);
  15.     counter++;
  16.     trace(nextX);
  17.     if (counter > "30") {
  18.         clearInterval(Intervall);
  19.         trace("******************");
  20.         verschiebenAufruf();
  21.     }
  22.     breite = mc._width
  23. };
  24. Intervall = setInterval(bauen, 50);
  25. function verschiebenAufruf() {
  26.     verschieben = function () {
  27.         for (counter = "0"; counter <= "30"; counter++) {
  28.             smallerX = math.floor(mc["teil" + counter]._x - mc["teil" + counter]._width);
  29.             trace("Teil Nr. " + counter + " wird verschoben @ X: " + smallerX);
  30.             // neue position setzen:
  31.             if (smallerX <= "0") {
  32.                 mc["teil" + counter]._x = breite;
  33.                 mc["teil" + counter]._y = 0;
  34.             }
  35.             else if (smallerX > breite) {
  36.                 mc["teil" + counter]._x = 0;
  37.                 mc["teil" + counter]._y = 0;
  38.             }
  39.             else {
  40.                 mc["teil" + counter]._x = smallerX;
  41.                 mc["teil" + counter]._y = 0;
  42.             }
  43.  
  44.         }
  45.         trace("****************");
  46.     }
  47.     Intervall = setInterval(verschieben, 50);
  48. }

hier auch mal die ausgabe (trace):
PHP-Code:
Teil Nr0 fertig X10
Teil Nr
1 fertig X20
Teil Nr
2 fertig X30
Teil Nr
3 fertig X40
Teil Nr
4 fertig X50
Teil Nr
5 fertig X60
Teil Nr
6 fertig X70
Teil Nr
7 fertig X80
Teil Nr
8 fertig X90
Teil Nr
9 fertig X100
Teil Nr
10 fertig X110
Teil Nr
11 fertig X120
Teil Nr
12 fertig X130
Teil Nr
13 fertig X140
Teil Nr
14 fertig X150
Teil Nr
15 fertig X160
Teil Nr
16 fertig X170
Teil Nr
17 fertig X180
Teil Nr
18 fertig X190
Teil Nr
19 fertig X200
Teil Nr
20 fertig X210
Teil Nr
21 fertig X220
Teil Nr
22 fertig X230
Teil Nr
23 fertig X240
Teil Nr
24 fertig X250
Teil Nr
25 fertig X260
Teil Nr
26 fertig X270
Teil Nr
27 fertig X280
Teil Nr
28 fertig X290
Teil Nr
29 fertig X300
Teil Nr
30 fertig X310
******************
Teil Nr0 wird verschoben X: -10
Teil Nr
1 wird verschoben X0
Teil Nr
2 wird verschoben X10
Teil Nr
3 wird verschoben X20
Teil Nr
4 wird verschoben X30
Teil Nr
5 wird verschoben X40
Teil Nr
6 wird verschoben X50
Teil Nr
7 wird verschoben X60
Teil Nr
8 wird verschoben X70
Teil Nr
9 wird verschoben X80
Teil Nr
10 wird verschoben X90
Teil Nr
11 wird verschoben X100
Teil Nr
12 wird verschoben X110
Teil Nr
13 wird verschoben X120
Teil Nr
14 wird verschoben X130
Teil Nr
15 wird verschoben X140
Teil Nr
16 wird verschoben X150
Teil Nr
17 wird verschoben X160
Teil Nr
18 wird verschoben X170
Teil Nr
19 wird verschoben X180
Teil Nr
20 wird verschoben X190
Teil Nr
21 wird verschoben X200
Teil Nr
22 wird verschoben X210
Teil Nr
23 wird verschoben X220
Teil Nr
24 wird verschoben X230
Teil Nr
25 wird verschoben X240
Teil Nr
26 wird verschoben X250
Teil Nr
27 wird verschoben X260
Teil Nr
28 wird verschoben X270
Teil Nr
29 wird verschoben X280
Teil Nr
30 wird verschoben X290
****************
Teil Nr0 wird verschoben X300
Teil Nr
1 wird verschoben X300
Teil Nr
2 wird verschoben X0
Teil Nr
3 wird verschoben X10
Teil Nr
4 wird verschoben X20
Teil Nr
5 wird verschoben X30
Teil Nr
6 wird verschoben X40
Teil Nr
7 wird verschoben X50
Teil Nr
8 wird verschoben X60
Teil Nr
9 wird verschoben X70
Teil Nr
10 wird verschoben X80
Teil Nr
11 wird verschoben X90
Teil Nr
12 wird verschoben X100
Teil Nr
13 wird verschoben X110
Teil Nr
14 wird verschoben X120
Teil Nr
15 wird verschoben X130
Teil Nr
16 wird verschoben X140
Teil Nr
17 wird verschoben X150
Teil Nr
18 wird verschoben X160
Teil Nr
19 wird verschoben X170
Teil Nr
20 wird verschoben X180
Teil Nr
21 wird verschoben X190
Teil Nr
22 wird verschoben X200
Teil Nr
23 wird verschoben X210
Teil Nr
24 wird verschoben X220
Teil Nr
25 wird verschoben X230
Teil Nr
26 wird verschoben X240
Teil Nr
27 wird verschoben X250
Teil Nr
28 wird verschoben X260
Teil Nr
29 wird verschoben X270
Teil Nr
30 wird verschoben X280
****************
Teil Nr0 wird verschoben X290
Teil Nr
1 wird verschoben X290
Teil Nr
2 wird verschoben X300
Teil Nr
3 wird verschoben X0
Teil Nr
4 wird verschoben X10
Teil Nr
5 wird verschoben X20
Teil Nr
6 wird verschoben X30
Teil Nr
7 wird verschoben X40
Teil Nr
8 wird verschoben X50
Teil Nr
9 wird verschoben X60
Teil Nr
10 wird verschoben X70
Teil Nr
11 wird verschoben X80
Teil Nr
12 wird verschoben X90
Teil Nr
13 wird verschoben X100
Teil Nr
14 wird verschoben X110
Teil Nr
15 wird verschoben X120
Teil Nr
16 wird verschoben X130
Teil Nr
17 wird verschoben X140
Teil Nr
18 wird verschoben X150
Teil Nr
19 wird verschoben X160
Teil Nr
20 wird verschoben X170
Teil Nr
21 wird verschoben X180
Teil Nr
22 wird verschoben X190
Teil Nr
23 wird verschoben X200
Teil Nr
24 wird verschoben X210
Teil Nr
25 wird verschoben X220
Teil Nr
26 wird verschoben X230
Teil Nr
27 wird verschoben X240
Teil Nr
28 wird verschoben X250
Teil Nr
29 wird verschoben X260
Teil Nr
30 wird verschoben X270
**************** 
ich denke mithilfe der ausgabe könnt ihr das problem schon sehen.

danke
__________________
Wenn Baumeister Gebäude bauten, so wie Programmierer Programme machen, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören.
- Bugzilla User
roooot 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 22:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele