Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-06-2009, 21:21   #1 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Pfad Tilelist

Erstmal weg, ein großes Lob an alle, die hier registriert sind um anderen zu helfen. Nichts des drotz, habe ich wiedermal eine frage oder besser gesagt zwei.
punkt 1
Source:
habe einen tilelist erstellt und bei source immer den speicherort meiner daten angegeben. Jetzt wo ich mein flash als website ins internet gebe, muss ich den pfad ändern. Nun das problem. Meine daten leigen frei in meinen Webhoser (neben bei benutze Filezilla), sprich die swf datei befindet sich im gleichen ordner wie die Bilder, usw.. wie muss der pfad lauten?

frage 2. Jeder kennt die load image bei flash Dateien, die geladen werden. Hier meine Frage kennt jemand ein tutorial, habe sch gegoogelt aber nichts gefunden.

Danke
Aerzte1992 ist offline   Mit Zitat antworten
Alt 04-06-2009, 21:34   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
wie muss der pfad lauten?
Im Browser ist der Pfad abhängig davon, wo der HTML-Wrapper (also die Start-HTML, in der der Flashfilm eingebettet ist) liegt, nicht abhängig von der SWF. Liegen also bspw. die swf und Bilder in einem Verzeichnis "assets" wäre der Pfad zu einem Image: assets/meinImage.jpg

Zitat:
Jeder kennt die load image bei flash Dateien, die geladen werden
Nicht wirklich... Meinst du einen Preloader? Ist hier eines der meistgesuchten Themen.
  Mit Zitat antworten
Alt 05-06-2009, 19:21   #3 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Danke wegen den preloader. hab nicht gewusst, dass es so heißt.
Trotzdem ein Problem, hab dieses Tutorial genmmen: http://www.republicofcode.com/tutori.../as3preloader/


Hab im ersten (oberste Ebene Action) diesen Code eingegeben:
PHP-Code:
stop();

this.addEventListener(Event.ENTER_FRAMEloading);

function 
loading(e:Event):void {

    var 
total:Number this.stage.loaderInfo.bytesTotal;
    var 
loaded:Number this.stage.loaderInfo.bytesLoaded;

    
bar_mc.scaleX loaded/total;
    
loader_txt.text Math.floor((loaded/total)*100)+ "%";

    if (
total == loaded) {
        
play();
        
this.removeEventListener(Event.ENTER_FRAMEloading);
    }


nachgehend, habe ich den ersten teil miener webseite, einige frames vreigelassen und dort die Zeichnungen(Textfelder, usw.) gespeichert.
Der Fehler liegt darin, das mene seite mehrere ebenen und auch einen internen(auf meiner Seite basierenden) Link zu einen anderen frame hat. Jedesmal wenn ich auf einen von den links glicke, kommt das ladefeld.
Es soll aber nur ganz am anfang kommen. Hat jemand einen Tipp für mich?

hier die fla als bild
Angehängte Grafiken
Dateityp: jpg Unbenannt.jpg (98,6 KB, 7x aufgerufen)

Geändert von Aerzte1992 (05-06-2009 um 19:22 Uhr) Grund: bild
Aerzte1992 ist offline   Mit Zitat antworten
Alt 05-06-2009, 21:38   #4 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Da es schlecht ist, wenn ich immer auf hilfe anderer angewiesen bin, versuche ich es schon selber, bzw einen preloader zu schreieben, aber es hackt schon am anfang.
Habe eine fla datei erstellt, drei Schlüsselbilder, das letzte heißt Ende, das zweite hat 4 mb.
folgender code ist im schlüsselbild 1
PHP-Code:
ifFrameLoaded ("Szene 1"Ende){
trace("hallo");

statt hallo, verwendete ich schon
PHP-Code:
gotoAndPlay ("Szene 1"1
jedoch kommt immer der gleiche fehler, egal was ich auch als function verwende: 1087: Syntaxfehler: zusätzliche Zeichen wurden nach Ende des Programms gefunden.


an was kann das liegen
Aerzte1992 ist offline   Mit Zitat antworten
Alt 05-06-2009, 23:39   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Einen Preloader sollte man für externe Filme oder Bilder nutzen, nicht für den eigenen Film. Denn alle mit Frame 1 verknüpften Objekte der Bibliothek werden erst mal geladen, bevor der Preloader überhaupt arbeiten kann, und dann ist der Sinn des Preloaders natürlich hin.

Die Preloader-Sequenz, die du gepostet hast, kannst du auch gleich wieder vergessen. Die Loader-Klasse, die man in AS3 einsetzt, hat eigene Listener-Funktionen, mit denen man sowohl auf den Ladefortschritt (Progress) als auch das Beenden des Ladens (Complete) eingehen kann. Dafür benötigt man also keinen überflüssigen enterFrame-Event. Hier mal ein vereinfachtes Beispiel:
PHP-Code:
//Loaderinstanz erstellen
var loader:Loader = new Loader();

//Instanz in die Displaylist hängen, damit nach dem Laden auch gerendert wird
addChildloader);

//die zu ladende URL aufbereiten
var urlRequest:URLRequest = new URLRequest("meine.swf");

//einen Lauscher setzen, der den Ladefortschritt überwacht
loader.addEventListener(ProgressEvent.PROGRESSprogressHandler);

//einen Lauscher setzen, der auf das Complete-Event wartet            
loader.addEventListener(Event.COMPLETEcompleteHandler);

//Ladevorgang starten
loader.load(urlRequest);


//diese Funktion wird kontinuierlich während des Ladevorgangs ausgeführt
private function progressHandler(event:ProgressEvent):void {
   
trace("progressHandler: bytesLoaded=" event.bytesLoaded " bytesTotal=" event.bytesTotal);
}


//diese Funktion wird durch den Lauscher gestartet, wenn der Ladevorgang beendet ist
private function completeHandler(event:Event):void {
   
trace("completeHandler: " event);

Zitat:
gotoAndPlay ("Szene 1", 1)
Szenen solltest du gleich wieder vergessen. Wenn du in deinem nachgeladen Film springen willst, funzt das bspw. so:
PHP-Code:
//diese Funktion wird durch den Lauscher gestartet, wenn der Ladevorgang beendet ist
private function completeHandler(event:Event):void {
   
trace("completeHandler: " event);
   
loader.content.gotoAndPlay(10);

  Mit Zitat antworten
Alt 07-06-2009, 13:15   #6 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
danke für dein script und auch danke an die anderen, die sich mit meinen problem auseinander gesetzt haben. Trotdem habe ich keine byte ausgabe. Allgemein, was haltet ihr von diesen Tutorial: http://www.flashworker.de/tutorial/44/001.html

mein anderes Problem, das auch sehr wichtig ist, sind die Bilder. wenn ich im Tilelist bei source:bildname.jpg(oder andere bezeichnung) eingebe und es offline teste, sehe ich die bilder. Wenn ich die seite hochlade und online sehen will, steht nur der label. Ich schätze es hat was bei der Angbe bei source; Als webserver habe ich bplaced. und im filezilla siehts so aus:
Angehängte Grafiken
Dateityp: jpg Unbenannt.jpg (96,8 KB, 3x aufgerufen)
Aerzte1992 ist offline   Mit Zitat antworten
Alt 07-06-2009, 14:08   #7 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Hab gerade bemerkt, dass das tutorial für as2 is. Weiß jemand von euch, ob es auch, solch einen "leichten" Befehl wie ifframesloaded, auch für as3 gibt?

Ps.: Problem mit dem Tilelist ist no imma.
Aerzte1992 ist offline   Mit Zitat antworten
Alt 08-06-2009, 14:18   #8 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Eines meiner probleme ist fast gelöst und zwar die tilelist wobei es auch dort trotzdem hackt und zwar ist es so, dass ich alle bilder in jpg format habe jedoch nur 2 von 5 angezeigt werden
Aerzte1992 ist offline   Mit Zitat antworten
Alt 10-06-2009, 18:43   #9 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
fast fertig, habs geschafft einen preloader zu erstellen, der schon so einiges kann. Das I-pünktchen wäre jetzt nur noch der richtige Verweis. Das proejekt besteht aus 2 datein. den preloader und dem Hauptteil. Das problem ist nur, dass der preloader die datei lädt und stehen bleibt. Wobei er zwar schon zu meiner Website(Hauptdatei), springt, aber im Hintergrund bleibt und stellenweiße vorleuchtet. Außerdem nimmt der Hauptteil, Form des Preloader an(z.b. Größe, dadurch kein scrollen mehr und der untere Rand nicht sichtbar).
Ich möchte nur wissen, ob es eine möglichkeit gibt, den Preloader kompltett zu schließen und nur noch den Hauptteil(Website) darzustellen.

PHP-Code:
var laden:Loader = new Loader();
var 
url:URLRequest = new URLRequest("Andreas Rottmann.swf");
laden.20;
laden.60;

laden.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESSfortschritt);
laden.contentLoaderInfo.addEventListener(Event.COMPLETEfertig);


laden.load(url);
addChild(laden);

import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
var 
leiste:ProgressBar = new ProgressBar();
leiste.move(500434);
leiste.mode ProgressBarMode.MANUAL;
addChild(leiste);

function 
fortschritt(evt:ProgressEvent) {
  
kbgeladen_txt.text String(evt.bytesLoaded 1000);
  
kbgesamt_txt.text String(evt.bytesTotal 1000); 
    var 
prozent:int 100 evt.bytesLoaded evt.bytesTotal;
    
balken_mc.width prozent 5;
    
leiste.setProgress(prozent100);
}


function 
fertig(evt:Event) {
    
leiste.visible false;
    

Aerzte1992 ist offline   Mit Zitat antworten
Alt 10-06-2009, 22:40   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Lade alles sichtbare aus dem Preloader in einen DisplayObject Container. Dann musst du bei Bedarf nur noch alle childs des Containers löschen, bspw.:
PHP-Code:
while(container.numChildren 0)
{
   
container.removeChildAt(0);

  Mit Zitat antworten
Alt 11-06-2009, 13:39   #11 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
ich hab nur sehr wenig erfahrung mit dem Display Objekt, wie würde das aussehen. bzw. gibt es keine andere Idee?
Würde dich auch fragen, ob du ein tutorial oder hilfe über objekt... hast
Danke

Ps: so viel ich weiß, ist dass nur um objekte zu übergreifen( wie ebenen, sichtbar machen). Das würde mir ja nicht wirklich helefen, da auch die bühnengröße des Preloaders übernommen wird(im Hauptfilm).

Geändert von Aerzte1992 (11-06-2009 um 13:47 Uhr)
Aerzte1992 ist offline   Mit Zitat antworten
Alt 11-06-2009, 14:01   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ps: so viel ich weiß, ist dass nur um objekte zu übergreifen( wie ebenen, sichtbar machen). Das würde mir ja nicht wirklich helefen, da auch die bühnengröße des Preloaders übernommen wird(im Hauptfilm).
Äh, was? Wenn du die Loader-Instanz loswerden willst, kannst du entweder ein laden.unload oder ein laden.visible=false machen. Wenn du Teile der DisplayObject List löschen willst, geht das mit removeChild oder removeChildAt. Dazu benötigt man auch nicht notwendigerweise Tutorials, das steht alles haarklein mit Beispielen in der Flash-Hilfe.
  Mit Zitat antworten
Alt 11-06-2009, 19:26   #13 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Danke für deine schnelle Antwort.
laden.unload und laden.visible=false habe ich schon einmal versucht, jedoch hat es noch nie funktioniert, da das bild stehen bleibt. Die Container Sache werde ich och probieren.
Aerzte1992 ist offline   Mit Zitat antworten
Alt 11-06-2009, 19:41   #14 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
habe nochmals versucht einen container zu mache bzw. zu löschen. bekomme aber nur fehlermeldungen.
Vlt. kannst du mir bitte zeigen, wie es bei dir aussehen würde.

Geändert von Aerzte1992 (12-06-2009 um 07:26 Uhr)
Aerzte1992 ist offline   Mit Zitat antworten
Alt 12-06-2009, 16:19   #15 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 98
Eine meiner letzten ideen. das bisherige script sieht so aus
PHP-Code:
var laden:Loader = new Loader();
var 
url:URLRequest = new URLRequest("Andreas Rottmann.swf");
laden.20;
laden.60;

laden.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESSfortschritt);
laden.contentLoaderInfo.addEventListener(Event.COMPLETEfertig);


laden.load(url);
addChild(laden);

import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
var 
leiste:ProgressBar = new ProgressBar();
leiste.move(500434);
leiste.mode ProgressBarMode.MANUAL;
addChild(leiste);

function 
fortschritt(evt:ProgressEvent) {
  
kbgeladen_txt.text String(evt.bytesLoaded 1000);
  
kbgesamt_txt.text String(evt.bytesTotal 1000); 
    var 
prozent:int 100 evt.bytesLoaded evt.bytesTotal;
    
balken_mc.width prozent 5;
    
leiste.setProgress(prozent100);
}


function 
fertig(evt:Event) {
    
leiste.visible false;
    

es gibt jetzt noch die Möglichkeit, den Preloader in Hauptvideo zu Beginn zu setzen und dann mittels laden der Frames und am ende mit einen gotoandplay, den Film zu laden und an die stelle zu springen. Bitte Hilfe.
Aerzte1992 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 07:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele