Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-06-2005, 20:52   #1 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
x-pos anordnen innerhalb schleife/array, onEnterFrame innerhalb schleife?

aloha, leutz!

folgende aufgabenstellung:

in einen film werden mc's per as erstellt, diese werden mit jpg gefüllt(unterschiedlich breit), diese sollten verlinkt werden und langsam von rechts nach links wandern.....

soweit bin i derweil:
ActionScript:
  1. var logolinks = this;
  2. var logoArray = [["anker", "http://www.flashforum.de/forum"], ["arag", ""], ["axa", ""], ["basler", ""], ["bawag", ""], ["das", ""], ["donau", ""], ["generali", ""], ["grazer", ""], ["merkur", ""], ["noe", ""], ["nuernberger", ""], ["oebv", ""], ["skandia", ""], ["staedtische", ""], ["uniqua", ""], ["vav", ""], ["wuestenrot", ""], ["zurich", "http://www.flashbattle.de"]];
  3. for (i=0; i<=logoArray.length; i++) {
  4.     logolinks.createEmptyMovieClip("logoHolder"+i, 50*i);
  5.     logolinks["logoHolder"+i]._x = (160*i);
  6.     var pic = logoArray[i];
  7.     var bild = pic[0];
  8.     var link = pic[1];
  9.     logolinks["logoHolder"+i].loadMovie("pics/"+bild+".jpg");
  10.     logolinks["logoHolder"+i].onRelease = function() {
  11.         getURL(link, "_blank");//nix gehen
  12.     };
  13.     logolinks["logoHolder"+i].onEnterFrame = function() {
  14.         this._x -= 50;//nix gehen, rückt nur einmal nach links( wahrscheinlich, weil schleife abgearbeitet wurde....?
  15.     };
  16.    
  17. }
desweiterenfolgende fehlermeldung:
Error opening URL "file:///C|/Dokumente%20und%20Einstellungen/moose/Eigene%20Dateien/websites/pavlu/pics/undefined.jpg"
wenn ich das i aber mit nur "<" definiere, pfeifts, aber es fehlt ein array-inhalt..
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (14-06-2005 um 21:29 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 14-06-2005, 21:43   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ohne demo-fla von dir hab ich es natürlich nicht getestet.
ActionScript:
  1. var logoArray = [["anker", "http://www.flashforum.de/forum"], ["arag", ""], ["axa", ""]]; // ...
  2. for (n in logoArray) {
  3.     i = Number(n);
  4.     LL = this.createEmptyMovieClip("logoHolder"+i, 50*i);
  5.     LL._x = (160*i);
  6.     LL.loadMovie("pics/"+logoArray[i][0]+".jpg");
  7.     LL.onRelease = function() {
  8.         getURL(logoArray[i][1], "_blank");
  9.     };
  10.     //
  11.     // das wird sowieso nix!!! so wandern die, grad wie sie lustig sind
  12.     // mach ein onEnterFrame auf z.b. _root in dem du in einer schleife alle auf einmal == syncron bewegst
  13.     LL.onEnterFrame = function() {
  14.         this._x -= 50;
  15.     };
  16. }
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (14-06-2005 um 21:45 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 14-06-2005, 22:08   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
thx schonmal!

das onRelease greift nicht

hier die fla incl. pics
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 14-06-2005, 22:21   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Das is jetzt aber doch wirklich ne alte Geschichte, dass der onRelease verloren geht, wenn in den MC was reingeladen wird... Preloaden > dann onRelease o.ä. zuweisen.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist gerade online   Mit Zitat antworten
Alt 14-06-2005, 23:02   #5 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
oki doki;
alte geschichte;
gibt's auch eine alte lösung dafür?

ActionScript:
  1. if(LL:getBytesLoaded >= LL:getBaytesTotal){
  2. LL.onRelease = function() {
  3.                 getURL(logoArray[i][1], "_blank");
  4. }
innerhalb von for-schleifen, no dazu in array-array, tu i mir immer schwer mit der korrekten bezeichnung;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 14-06-2005, 23:18   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
So, schnell mal zamgescriptet...
ActionScript:
  1. var tl:MovieClip = this;
  2.  
  3. var logoArray:Array = new Arrray ();
  4. logoArray[0] = {pic: "anker", url: "http://www.flashforum.de/forum"};
  5. logoArray[1] = {pic: "arag", url: ""};
  6. logoArray[2] = {pic: "axa", url: ""}
  7. logoArray[3] = {pic: "basler", url: ""};
  8. // den Rest schenk ich mir mal...
  9.  
  10. for (var i:Number = 0; i < logoArray.length; i++) {
  11.  
  12.     tl.createEmptyMovieClip ("logoHolder" + i, 50 * i);
  13.     tl["logoHolder" + i].createEmptyMovieClip ("picHolder", 1);
  14.    
  15.     tl["logoHolder" + i].id = i;
  16.     tl["logoHolder" + i]._x = 160 * i;
  17.  
  18.     tl["logoHolder" + i].picHolder.loadMovie ("pics/" + logoArray[i].pic + ".jpg");
  19.    
  20.     tl["logoHolder" + i].onEnterFrame = function () {
  21.         var t:Number = this.picHolder.getBytesTotal ();
  22.         var l:Number = this.picHolder.getBytesLoaded ();
  23.        
  24.         if (l >= t && t > 5) {
  25.             delete this.onEnterFrame;
  26.            
  27.             this.onRelease = function () {
  28.                 getURL (logoArray[this.id].url, "_blank");
  29.             };
  30.         }
  31.     };
  32. }
Das mit der Ani am Ende hab ich mir mal gespart - kannst ja dann selber noch einbauen...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist gerade online   Mit Zitat antworten
Alt 15-06-2005, 07:46   #7 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
herzlichen dank, sonar, das hat mich sehr viel weitergebracht! ;
jedoch habe ich das array schon so gelassen; net böse sein....

nun funzt die linkzuweisung nicht
desweiteren weiß i net, wie ich wieder von vorne beginnen kann.....

siehe script und siehe anlage!

ActionScript:
  1. var logolinks:MovieClip = this;
  2. logolinks.setMask(MC_maske);
  3. var logoArray = [["anker", "http://www.flashforum.de/forum"], ["arag", ""], ["axa", ""], ["basler", ""],  ["das", ""], ["donau", ""], ["generali", ""], ["grazer", ""], ["merkur", ""], ["noe", ""], ["nuernberger", ""], ["oebv", ""], ["skandia", ""], ["staedtische", ""], ["uniqua", ""], ["vav", ""], ["wuestenrot", ""], ["zurich", "http://www.flashbattle.de"],["bawag", ""]];
  4. for (i=0; i<logoArray.length; i++) {
  5.     logolinks.createEmptyMovieClip("logoHolder"+i, 50*i);
  6.     logolinks["logoHolder"+i].createEmptyMovieClip("picHolder", 1);
  7.     logolinks["logoHolder"+i].id = i;
  8.     logolinks["logoHolder"+i]._x = 1+(130*i);
  9.     logolinks["logoHolder"+i]._y = 1;
  10.     var pic = logoArray[i];
  11.     var bild = pic[0];
  12.     var link = pic[1];
  13.     logolinks["logoHolder"+i].picHolder.loadMovie("pics/"+bild+".jpg");
  14.     //logolinks["logoHolder"+i].loadMovie("pics/"+bild+".jpg");
  15.     logolinks["logoHolder"+i].onEnterFrame = function() {
  16.         var t:Number = this.picHolder.getBytesTotal();
  17.         var l:Number = this.picHolder.getBytesLoaded();
  18.         if (l>=t && t>5) {
  19.             delete this.onEnterFrame;
  20.             this.onRelease = function() {
  21.                 getURL("?", "_blank");//wie kann ich den link zuordnen?
  22.                 };
  23.                 this.onEnterFrame = function() {
  24.                     this._x -= 1;
  25.                     //wie kann ich nun, wenn das letzte den Rahmen erreicht hat, wieder anfangen?
  26.             };
  27.         }
  28.     };
  29. }
hier die aktuelle"fast fertig"version
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 15-06-2005, 09:05   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Link einfügen:
ActionScript:
  1. getURL (logoArray[this.id][1], "_blank")
(deswegen das Array mit den Objekten drin - da herrscht Klarheit, weil du nicht im Array zählen musst, sondern eindeutige Bennenungen hättest - aber bitte... )


Und das mit dem "neu anfangen" hab ich jetzt nicht ganz kapiert...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist gerade online   Mit Zitat antworten
Alt 15-06-2005, 09:19   #9 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
danke!
nun, wenn das das ende des letzten bildes den rechten bühnenrand erreicht hat, sollt wieder das erste bild anschließen.......könnte ich rein theoretisch mit setInterval lösen, und da rein das obige script...?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 15-06-2005, 09:26   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Achso, du meinst so ne Art "Pseudo-Yugop"... hmmm. Da muss ich mich jetzt mal ausklinken, weil wenig Zeit. Aber ich würde generell kucken, möglichst viel in gesonderte Funktionen auszulagern und mit callbacks und so zu arbeiten. Weil sonst kriegst nämlich nen dermaßenen Spaghetti-Code (Spagetti-Kode - neue Rechtschreibung...) zusammen, wo du nicht mehr weißt, wo vorn und hinten is, weil oEF im Interval verschachtelt is oder umgekehrt oder wie...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist gerade online   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 13:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele