Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-08-2004, 18:03   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Unhappy Scrollen von mehreren MovieClips gleichzeitig

Hallo,
ich könnte einen Rat bei folgender Sache gebrauchen:

Ich habe mehrere Dynamisch erställte MovieClips (Box1, Box2...Boxn (Anzahl variabel)).
Da nicht alle jeweils sichtbar sind, möchte ich sie per scroll-Button ALLE nach links oder rechts scrollen: nun mein Problem.

Mit diesem Script kann ich jeweils einen MC scrollen,
ich möchte wie gesagt, jedoch gerne alle meine MC scrollen.

on (press) {
_root.box1.onEnterFrame = function() {
if (this._y<this.bottom) {
this._y += this.scrollSpeed;
}
};
}
on (release) {
delete _root.box1.onEnterFrame;
}

------------------------

Ich hatte mir so etwas überlegt, aber das funzt nicht:

on (press) {
for (var i=1; i< 5; i++) { //Wiederholungen ersteinmal ausgedacht
_root.["box1"+i].onEnterFrame = function() {
if (this._y<this.bottom) {
this._y += this.scrollSpeed;
}
};
}
}
on (release) {
for (var i=1; i< 5; i++) {
delete _root.["box"+i].onEnterFrame;
}

Für einen Ratschlag wäre ich dankbar...
captain wortlos ist offline   Mit Zitat antworten
Alt 12-08-2004, 18:18   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Mit sowas geht des
ActionScript:
  1. mcArray = ["mc0", "mc1", "mc2", "mc3"];
  2. MovieClip.prototype.slide_mc = function(zielNY, speed) {
  3.     this.onEnterFrame = function() {
  4.         this._y += (zielNY-Math.ceil(this._y))/speed;
  5.         if (Math.ceil(this._y) == zielNY) {
  6.             delete this.onEnterFrame;
  7.         }
  8.     };
  9. };
  10. this.btn.onPress = function() {
  11.     for (var i = 0; i<mcArray.length; i++) {
  12.         this._parent["mc"+i].slide_mc(350, 5);
  13.     }
  14. };
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 12-08-2004, 18:19   #3 (permalink)
Flash-holic
 
Benutzerbild von DeMoehn
 
Registriert seit: Nov 2003
Ort: Neunkirchen(Saar)
Beiträge: 988
Weiß ja nich was du mit den buttons machen willst, aber des einfachste wär doch du packst sie alle in einem MC und scrollst diesen
__________________
Wer Großes versucht, ist bewunderswert, auch wenn er fällt.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)


DeMoehn ist offline   Mit Zitat antworten
Alt 12-08-2004, 21:26   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Smile

Besten Dank schon mal für die Tipps.

Nur wir packe ich dynamisch erzeugte MCs in einen übergeordneten MC?
captain wortlos ist offline   Mit Zitat antworten
Alt 12-08-2004, 22:18   #5 (permalink)
Flash-holic
 
Benutzerbild von DeMoehn
 
Registriert seit: Nov 2003
Ort: Neunkirchen(Saar)
Beiträge: 988
wie erzeugst du die?
ActionScript:
  1. _root.derMC.createEmptyMovieClip(...)
  2. //oder eben
  3. _root.derMC.attachMovieClip(..)
so sollte des gehn
__________________
Wer Großes versucht, ist bewunderswert, auch wenn er fällt.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)


DeMoehn ist offline   Mit Zitat antworten
Alt 13-08-2004, 06:30   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Question

Hallo, die MC werden wiefolgt generiert:

var xb = 111 // Beispielzahl

for (var i=1; i<xb; i++){
createEmptyMovieClip ("box"+i,i);
_root["box"+i]._x=-70+i*115; //MC beginnent bei 45 und jeweils um 115 vers.
_root["box"+i]._y= 60
Variable = eval("bild"+i);
_root["box"+i].loadMovie (Variable);
trace("box"+i); //Kontrolle, welche MCs erstellt wurden
}


Soll ich statt:
("box"+i,i); --> einfach: ("box"+i,_root.main_mc);

schreiben?

Die scrollbarkeit sollte möglichst in Abhängigkeit von der Anzahl der zu ladenen Bilder limitiert sein.

Vielen Dank für die Hilfe und den Rat
captain wortlos ist offline   Mit Zitat antworten
Alt 13-08-2004, 06:30   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
sorry, hab dein Script überlesen... werd's gleich mal probieren...
captain wortlos ist offline   Mit Zitat antworten
Alt 13-08-2004, 07:06   #8 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Zitat:
Zitat von captain wortlos
Soll ich statt:
("box"+i,i); --> einfach: ("box"+i,_root.main_mc);

schreiben?
das würde ich nicht versuchen

der zwete parameter ist die Teifen angabe beim createEmptyMovieClip!
da kannste keine Instanz zuweiseun sondern musst ne Zahl angeben!
das stimmt schon mit dem i!

aber mach mal so:

ActionScript:
  1. var xb = 111   // Beispielzahl
  2.  
  3. for (var i=1; i<xb; i++){
  4. _root.DeinMc.createEmptyMovieClip ("box"+i,i);
  5. _root.DeinMc["box"+i]._x=-70+i*115//MC beginnent bei 45 und jeweils um 115 vers.
  6. _root.DeinMc["box"+i]._y= 60
  7. Variable = eval("bild"+i);
  8. _root.DeinMc["box"+i].loadMovie (Variable);
  9. trace("box"+i)//Kontrolle, welche MCs erstellt wurden
  10. }


grz
pape ist offline   Mit Zitat antworten
Alt 13-08-2004, 07:38   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Question

Hmm, irgendwie klapps net:

Fehler?

for (var i=1; i < bilderanz; i++){
_root.mainmovie_mc.createEmptyMovieClip ("box"+i,i);
_root.mainmovie_mc["box"+i]._x=-70+i*115;
_root.mainmovie_mc["box"+i]._y= 60
Variable = eval("bild"+i);
_root.mainmovie_mc["box"+i].loadMovie (Variable);
trace("box"+i);
}

mainmovie_mc ist vorhanden und per hand erstellt.
captain wortlos ist offline   Mit Zitat antworten
Alt 13-08-2004, 08:12   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Question

ICH verstehe das PROBLEM nicht:

Script (vereinfachter Auszug):

Hier wir der übergeordnete MC erstellt:

_root.createEmptyMovieClip("Hauptfenster_mc",1);
_root.hauptfenster_mc._x= 100;
_root.hauptfenster_mc._y= 50;
_root.hauptfenster_mc._height = 500
_root.hauptfenster_mc._width = 500
trace("hauptfenster erstellt")

Hier sollten die MCs in den übergeordneteten MC geladen werden:

for (var i=1; i<5; i++){
_root.hauptfenster_mc.createEmptyMovieClip ("box"+i,i);
_root.hauptfenster_mc["box"+i]._x=-70+i*115;
_root.hauptfenster_mc["box"+i]._y= 60
_root.hauptfenster_mc["box"+i].loadMovie ("bild" +i+ ".jpg");
trace("box" +i+ " erstellt" );
}

Ich denke mal, es hat nichts mit der Ebenen zu tun!?
Der hauptfenster_mc wird normal erstellt, die MCs: box1 - box4 werden nur leider nicht abgebildet:
captain wortlos ist offline   Mit Zitat antworten
Alt 13-08-2004, 09:36   #11 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
das stimmt soweit...
stimmt auch dieser pfad?
loadMovie ("bild" +i+ ".jpg");

trace dir mal die ganzen Objekte und guck ob die alle definiert sind usw...

grz
Edit:
wenn du flash mx04 benutzt, dann musst entweder
Hauptfenster_mc im createEmptyMovieClip klein schreiben oder überall anders auch groß!

04 ist casesensitive!

Geändert von pape (13-08-2004 um 09:37 Uhr)
pape ist offline   Mit Zitat antworten
Alt 13-08-2004, 09:49   #12 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Hey,

ich kann mir wirklich keinen Reim daraus machen.
Bildpfade sind auch korrekt.

Habe die Datei kurz auf die benötigten Funktionen beschränkt und als Anhang beigefügt.
Wenn du kurz Zeit hast, kannst vielleicht mal einen Blick reinwerfen...

Danke im Voraus.
Angehängte Dateien
Dateityp: zip mc_in_mc_testobjekt.zip (13,9 KB, 5x aufgerufen)
captain wortlos ist offline   Mit Zitat antworten
Alt 13-08-2004, 13:19   #13 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
kannst du das als Mx abspeichern?

..habe nämlich nur solches
pape ist offline   Mit Zitat antworten
Alt 13-08-2004, 15:06   #14 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
ActionScript:
  1. stop();//probiers mal mit nem stop() im 5then frame!!!!
  2. var xb = 5;
  3. //Anzahl der geladenen Bilder
  4. trace(xb);
  5. // ********** Erstellung MCs für Bilddateien
  6. for (var i = 1; i<xb; i++) {
  7.     _root.hauptfenser.createEmptyMovieClip("box"+i, i);
  8.     _root.hauptfenser["box"+i]._x = -70+i*115;
  9.     _root.hauptfenser["box"+i]._y = 60;
  10.     _root.hauptfenser["box"+i].loadMovie("bild"+i+".jpg");
  11.     trace("box"+i);
  12.     //Kontrolle, wie viele MC erstellt wurden
  13.     trace("bild"+i+".jpg");
  14.     //Kontrolle der geladenen MCs
  15. }
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 13-08-2004, 15:42   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Ort: HH
Beiträge: 14
Smile das geht schon mal.

Hallo, das läuft schonmal, BESTEN DANK; jetzt muss ich nur noch sehen, das ich das für meine Verwendung adaptiert bekomme.

Kannst du mir ggf. erklären, WARUM ich ein "stop()" setzen muss?
Ich möchte eigentlich, dass der Film weiterläuft.

merci.
captain wortlos 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 06:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele