tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
739
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Hallo,

    geht das denn? Den Film zu laden ist bisher kein Problem. Nun möchte ich den Film, sagen wir er ist 120 Bilder lang, von verschieden Buttons an verschiedenen Frames starten lassen. Also bei Button X läuft Bild 1- Bild 10 u.s.w.
    Nur hab ich im Moment keinen Plan ob das überhaupt geht und wenn ja wie das gehen soll... Steh grad voll aufm Schlauch...

    Kann mir jemand weiterhelfen?!

    Gruß
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  2. #2
    Avatar von Roli189
    Roli189 Roli189 ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    88
    Hi!

    Natürlich geht das. Gleich wie du es auf der Hauptzeitleiste machst.

    z.B.: _root.container.gotoAndPlay ("Zielframe");

    in dem Fall soll container dein MC sein der die swf reinlädt.

    Greetz

    Roli
     

  3. #3
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Hallo,

    da es bei Bildern auch so ist, dass die erst komplett geladen sein müssen, hab ich jetzt mal folgendes probiert:
    PHP-Code:
    function klickeventSub(issuelinknamefileParentlinkParent){
        
    _root["linkSub"+issue].onRelease = function(){
        
    _root.attachMovie("menuback_grey""menuback_grey"109);
        
    _root.menuback_grey._x 0;
        
    _root.menuback_grey._y 101;
        
    setFileName(_root["linkSub"+issue].linkSubText.textfileParent);
        
    createLeftMenuLink(_root["linkSub"+issue].linkSubText.textlinkParent);
        
            if(
    _root["linkSub"+issue].linkSubText.text == "MeinButton"){
            
    _root["linkSub"+issue].linkSubText.text linkname;
            
    _root.createClassObject(Label"Bild"1001);
            
    _root["Bild"].text "";
            
    _root["Bild"].createEmptyMovieClip("MCAni"4002);
            
    _root["Bild"]["MCAni"]._x 201;
            
    _root["Bild"]["MCAni"]._y 211;
            
    _root["Bild"]["MCAni"].loadMovie("./pics/animation.swf");
            
    _root["Bild"].onEnterFrame = function() {
                if (
    _root["Bild"]["MCAni"].getBytesLoaded() > -&& _root["Bild"]["MCAni"].getBytesLoaded() >= _root["Bild"]["MCAni"].getBytesTotal()) {
                
    _root["Bild"]["MCAni"].gotoAndPlay(120);
                            
                
    delete this.onEnterFrame;
                }
    //end if
            
    //end onEnterFrame
                
        
    }//end if 
                
    }//end function on Press 
    Er lädt mir auch den Film, platziert ihn richtig- aber er fängt die Animation immer von vorne an und springt nicht an den gewünschten Frame und spielt ihn da ab... Ausserdem muss ich nach > -1 abfragen, sonst geht er mir gar nicht rein...
    Ich hoffe es ist nachzuvollziehen?

    Gruß
    Geändert von Orphelina (25.08.05 um 10:22 Uhr)
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  4. #4
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Hallo,

    ich hab weiter fleissig rumprobiert aber bin immer noch nicht weiter. Ausser dass meine Ausgabe von gotoAndPlay "undefined" ist- warum auch immer?

    Ich blick das nicht. Dabei lade ich das Ding doch vor? WArum ist mein Frame undefined?

    Gruß
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  5. #5
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Okay,

    nach noch mehr probieren, kopieren, Auslagern der onEnterFrame- Funktion, der Erkenntnis das man den Frame so gar nicht ausgeben kann, funktioniert es jetzt dass er zu dem jeweiligen Frame springt.

    Weiteres Problem. Ich habe mehrere Buttons, die die Animation an verschiedenen Frames anspricht. Ich kann aber eigentlich nur einen Button drücken und danach geht er nicht mehr durch die if- Abfragen sondern schmeisst mich gleich über den else raus.
    Wie kann ich es hinbekommen, dass ich beliebige Buttons beliebig oft drücke und immer das richtige passiert?!

    Hier nochmal der aktuelle Codeausschnitt:
    PHP-Code:
    function klickeventSub(issuelinknamefileParentlinkParent){
            
    //Hier werden das Bild und der MovieClip erzeugt in den die Animation geladen wird
    _root.createClassObject(Label"Bild"1001);
    _root["Bild"].text "";
    _root["Bild"].createEmptyMovieClip("MCAni"1002);
    _root["Bild"]["MCAni"]._x = -800;
    _root["Bild"]["MCAni"]._y = -800;
    _root["Bild"]["MCAni"].loadMovie("./pics/HauptAnimation.swf");
    var 
    frameNumber:Number;
            
    _root["linkSub"+issue].onRelease = function(){
    _root.attachMovie("menuback_grey""menuback_grey"109);
    _root.menuback_grey._x 0;
    _root.menuback_grey._y 101;
    setFileName(_root["linkSub"+issue].linkSubText.textfileParent);
    createLeftMenuLink(_root["linkSub"+issue].linkSubText.textlinkParent);
                
                
    if(
    _root["linkSub"+issue].linkSubText.text == "Button1"){
            
    _root["linkSub"+issue].linkSubText.text linkname;
        
    frameNumber 1;
        
    animationEnterFrame("Bild""MCAni"frameNumber);    
    }
    //end if
                
    if(_root["linkSub"+issue].linkSubText.text == "Button2"){
        
    _root["linkSub"+issue].linkSubText.text linkname;
        
    frameNumber 11;
        
    animationEnterFrame("Bild""MCAni"frameNumber);    
    }
    //end if
                
    if(_root["linkSub"+issue].linkSubText.text == "Button3"){
    _root["linkSub"+issue].linkSubText.text linkname;
    frameNumber 100;
    animationEnterFrame("Bild""MCAni"frameNumber);    
    }
    //end if
                
    else{trace("::::::::::::::::  FÄHLER  :::::::::::::::");}
    }
    //end onRelease 
    Hier die ausgelagerte Funktion
    PHP-Code:
    function animationEnterFrame(givenLabelgivenImgmyFrame){
     
    _root[givenLabel].onEnterFrame = function() {
    if (
    _root[givenLabel][givenImg]._width && _root[givenLabel][givenImg]._height 3) {
        
    _root[givenLabel][givenImg]._x 201;
        
    _root[givenLabel][givenImg]._y 211;

        
    _root[givenLabel][givenImg].gotoAndPlay(myFrame);
                                    
    }
    //end if
    else{
        
    trace("+#+#+#+#+# Fehler beim Laden der Animation +#+#+#+#+#");
        
    _root[givenLabel][givenImg]._x = -800;
        
    _root[givenLabel][givenImg]._y = -800;
    }
    //end else

    delete this.onEnterFrame;

    //end onEnterFrame
            
    }//end function animationEnterFrame 
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    ich kann das mangels Flash im Moment nicht testen (der Code ist mir grad zu unübersichtlich, um ihn im Kopf zu debuggen ) - aber eins fällt mir auf:

    Wenn Du schon per
    Code :
    1
    
    _root["linkSub"+issue].onRelease = function(){
    Einen MouseHandler definierst, warum greifst Du darin nicht per "this" auf Dein Objekt ( _root["linkSub"+issue] ) zu, sondern referenzierst es immer wieder über den Array-Zugriffsoperator? Das wird nicht unbedingt die Uesache Deines Fehlers sein, ist aber immer wieder eine Quelle schwer zu entdeckender (und zu korrigierender) Bugs.

    Gruß
    .
     

  7. #7
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Guten Morgen,

    danke erstmal für den Tipp!
    Ich hatte bisher irgendwie immer wieder Probleme, wenn ich mit this auf etwas zugreifen will- oft hat das gar nicht funktioniert...

    Gruß

    Button 1und 2 funktionieren, aber bei Button 3 passiert nichts, er geht zwar auch in die Methode, aber geht gleich in den Else- Fall. Klicke ich aber zuerst Button 3 wird die Animation abgespielt.
    Trotzdem bringt er auch immer "Fähler"- Fall, geht aber trotzdem in die Animation bei Button 1 und 2... Aber eben nur wenn ich zuerst 1 und dann 2 drücke... Wenn ich von hinten anfang tun 1 und 2 nicht. Das versteh ich nicht...
    Geändert von Orphelina (26.08.05 um 09:23 Uhr)
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  8. #8
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    kannst Du die Datei einmal posten (die .as-Datei und die dazugehörige .fla)? Wenn ich das ganze lauffähig vor mir habe, lässt sich sicher mit ein paar Trace-Aktionen schnell herausfinden, wo der Hund begraben liegt.

    Gruß
    .
     

  9. #9
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Hallöchen,



    Leider sind die Dateien zu gross und sind für nen Kunden, also darf ich da leider auch nichts rausgeben...
    Blöde Sache, ich weiss...

    GRuß
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  10. #10
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    ...
    Aber ich hab inzwischen rausgefunden, warum er mir nichts macht wenn man den letzten Button ausgibt. In meiner ausgelagerten Funktion frag ich nach dem onEnterFrame nach den geladenen Bytes ab- und wenn man das letzte anklickt meint er "undefined"- also wohl keine Bytes da, also macht er da auch nichts.
    Wenn ich wild auf die verschiedenen Buttonsklicke, funktioniert das letzte zwischendurch, aber dafür sind die anderen dann auch mal undefined und tun dann wieder dann wieder nicht- aber ich konnte bisher kein Schema feststellen.
    Aber wo konnten denn meine Bytes verloren gehen? Hängt das mit dem onEnterFrame zusammen oder sowas?

    Gruß
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  11. #11
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    nee - verloren gehen sollte da nichts. Ich glaube eher, dass das übergebene Objekt (der Clip, von dem die geladenen Bytes abgefragt werden) teilweise undefiniert ist. Überprüf doch mal mit einer trace-Aktion, ob alle Referenzen, die Du der Funktion "animationEnterFrame" übergibst, auch gültig sind.

    Gruß
    .
     

  12. #12
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Sooooooo,

    nachdem ich diese Schleife eingebaut habe in die onRelease- Funktion.

    PHP-Code:
    for (var i in _root) {
    if (
    typeof(_root[i]) == "movieclip" && _root[i].getDepth() <= 10 && _root[i].getDepth() >= 0) {
        
    _root[i].removeMovieClip();
        }

    Funktioniert es jetzt einwandfrei- obwohl die MCs mit denen ich arbeite in der Ebene 301 und 302 liegen.... Öhm ich versteh das zwar nicht so ganz, aber es scheint erstmal zu funktionieren...

    Gruß

    EDIT: Nun ja, das mit dem einwandfrei nehm ich zurück. Beim Testen ist mir aufgefallen, dass nur wenn ich in meiner Navigation einen bestimmten Pfad gehe, das mit der Animation klappt, sobald ich vorher was anderes geklickt habe, wird die Animation nicht geladen... Menno....

    EDIT2: Weiss den keiner Rat? Ich versteh nicht warum die Animation nicht mehr geladen wird, da sie ja immer dem gleichen Muster folgt. Das dürfte ja egal sein, ob ich zuerst einen anderen Pfad geh... Woran könnte das denn liegen?
    Geändert von Orphelina (29.08.05 um 13:07 Uhr)
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

  13. #13
    Avatar von Orphelina
    Orphelina Orphelina ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    256
    Hallo,

    nur fürs Protokoll, ich hab den kompletten Code umgeschrieben und dann hat es einwandfrei funktioniert. Die obigen Tipps hab ich auch bedacht. Das mit dem hinspringen war dann nicht so schwer... Irgendwie mochte er weder die Stelle noch die Dinge die drumherum passiert sind.

    Ich wollte das Thema nur abschliessen.

    Danke und Gruß
     
    Windows XP Prof SP2, Intel Pentium 3,2 GHz 1GB RAM
    Flash 8 Prof (8.0), Flash Player 9
    Mozilla Firefox 2.0, IE 7.0, Opera 9.02

Ähnliche Themen

  1. FLV-Parameter von einem mit Loadmovie geladenen Film!
    Von kelmi im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 17.05.06, 17:26
  2. swf-film in mc laden per loadMovie() + filmsteuerung
    Von matschomaen im Forum Flash Plattform
    Antworten: 25
    Letzter Beitrag: 20.11.05, 18:39
  3. Externes swf laden und in einem bestimmten Frame starten
    Von Djingeringe im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 03.05.05, 17:26
  4. loadMovie in Bestimmten Frame
    Von themonk im Forum Flash Plattform
    Antworten: 35
    Letzter Beitrag: 02.02.05, 21:22
  5. mit loadmovie geladenen film anhalten (mx)
    Von paraphan im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 27.08.02, 18:43