Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-12-2004, 14:52   #1 (permalink)
………•………
 
Registriert seit: Jul 2002
Beiträge: 5
Question Gezielt Stellen in noch zu ladenden Movies ansteuern?

Hallo erstmal zusammen,
möchte mit einem Script gezielt Stellen in noch zu ladenden Movies ansteuern. Bei dem Beispiel unten funktioniert aber nur der erste Befehl "_level0.Komplett_Menue.gotoAndStop("Movie1"); " und die Action die dann dort ausgelöst wird, also das laden des movie1.swf in Load1. Der Rest wird scheinbar ignoriert. Möchte wissen ob das ein komplett falscher Ansatz ist oder ob es nur kleine Fehler sind. Hab hier im Forum mehrere Threads mit der gleichen Problematik gefunden, in denen aber nie eine wirkliche Lösung gefunden wurde. Im Prinzip suche ich nur eine Möglichkeit um, wie gesagt, gezielt in Frames von Movies zu springen die in einen Movie geladen werden, der auch wiederum erst noch geladen werden soll, um z.B. wie in meinem Fall eine Sitemap zu realisieren. Für irgend ein möglichst simples Beispiel wäre ich sehr dankbar, konnte selbst leider nichts passendes finden, auch nicht mit den immer wieder erwähnten Suchbegriffen "Preloader" oder "Deeplink" wie sie in manchen Threads mit gleicher Thematik gefallen sind. Seh' allerdings auch gerade den Wald vor lauter Bäumen nicht mehr. Müsste doch aber eigentlich eine Standardaufgabe sein. Hatte es auch schon mit Levels anstatt leeren MCs probiert, hat aber auch nicht geklappt.

PHP-Code:
// Dieses ActionScript befindet sich auf einem Button in Level7
on (release) {
    
// Load1 u. Load2 sind leere Movieclip Instanzen.
    //In einer FrameAction über dem Label "Movie1" wird mit
    //loadMovie("movie1.swf",_root.Load1); ein Movie in die Instanz Load1 geladen
    
_level0.Komplett_Menue.gotoAndStop("Movie1");
    if (
_level0.Load1._framesloaded>=_level0.Load1._totalframes) {
        
//In einer FrameAction über dem Label "Movie2" wird mit
        //loadMovie("movie2.swf",this.Load2); ein Movie 
        //in die Instanz Load2 geladen die im in Load1 geladenen Movie liegt
        
_level0.Load1.gotoAndStop("Movie2");
    }
if (
_level0.Load1.Load2._framesloaded>=_level0.Load1.Load2._totalframes) {
            
// Dieses ActionScript befindet sich ja auf einem Button in Level7 und soll dann natürlich verschwinden
            
unloadMovieNum(7);
        }


Geändert von muggooz (02-12-2004 um 16:01 Uhr)
muggooz ist offline   Mit Zitat antworten
Alt 02-12-2004, 23:24   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zuerst einmal solltest du nur mit Level0 arbeiten. Dieser bietet Millionen von Tiefen(-ebenen), die eigentlich ausreichen sollten. Weitere Level verwirren da nur...

Bevor du nach einem loadMovie in den geladenen MCs springen kannst, musst du - wie du evtl. schon gelesen hast - einen Preloader setzen, der den Ladevorgang überprüft. Erst nach dem kompletten Laden kannst du auf den MC und dessen eingeladener swf zugreifen.

Hier ein kleines Beispiel:
ActionScript:
  1. _level0.createEmptyMovieClip("mcHolder",1);//leeren MC erstellen
  2. _level0.mcHolder.loadMovie("meinFilm.swf");//in diesen MC eine swf nachladen
  3.  
  4. _level0.onEnterFrame = function(){//Preloader, kontinuierliche Überprüfung des Ladevorgangs
  5.     var fin = int(_level0.mcHolder.getBytesLoaded()*100/_level0.mcHolder.getBytesTotal());//Prozentwerte berechnen
  6.     trace("fin="+fin);//Prozentwert testhalber ausgeben
  7.     _level0.ausgabe.text="[ "+fin+" % geladen ]";//diesen Text in der Textfeldinstanz "ausgabe" zeigen
  8.     _level0.mcPre.gotoAndStop(fin);//mcPre ist ein Balkenanimation mit 100 Frames, kann natürlich auch weggelassen werden
  9.     if(fin >= 100 && _level0.mcHolder._width > 0 && _level0.mcHolder._height>0) {//wenn der MC eine Breite und Höhe größer 0 hat, also alles geladen wurde...
  10.         delete _level0.onEnterFrame;//dann den Event wieder löschen
  11.         _level0.ausgabe.text="";//und das Textfeld leeren
  12.         //und hier weitermachen, bspw.
  13.                 _level0.mcHolder.gotoAndStop(50);
  14.     }
  15. }
  Mit Zitat antworten
Alt 04-12-2004, 08:51   #3 (permalink)
………•………
 
Registriert seit: Jul 2002
Beiträge: 5
Zwar schon ein bisschen spät, aber trotzdem herzlichen Dank an agedoubleju. Werde ein paar Umbauten machen müssen aber denke das hilft mir sehr weiter.

Also, wenn ich das richtig verstehe, ist der Ansatz das alles in dem on (release) Handler zu erledigen völlig unmöglich oder jedenfalls nicht der richtige Ansatz.

Wie wohl unschwer zu erkennen ist, befinden sich meine AS-Kenntnisse noch im Aufbau.
muggooz 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 14:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele