Anzeige

Flash: Problem mit rollOver / rollOut !

Flash: Problem mit rollOver / rollOut ! | PSD-Tutorials.de

Erstellt von Whykiki, 29.06.2006.

  1. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Hallo,

    ich wende mich mit meinem Problem einmal direkt an die Flash-Profis hier (vllt. lesen schinki oder TID das ja auch...)

    Mein Problem:

    Movieclips bleibem beim rollOver/Out einfach hängen und behalten ihren Status!!

    Zur Erklärung:

    Ich habe einen MC "button1", sowie einen weiteren Movieclip "buttonmovie1". Analog dazu gibt es dann noch "button2" u.s.w.

    In der Hauptzeitleiste habe ich eine Ebene auf der dann alle meine Aktionen liegen. Folgendes wird dann ausgeführt:

    Code (Text):
    1. button1.rollOver = function () {
    2. buttonmovie1.gotoAndPlay (2);
    3. }
    Das heisst also beim Überfahren von Button1, wir der dazugehörige Movieclip "buttonmovie1" abgespielt.

    Beim rollOut dann folgendes:

    Code (Text):
    1. button1.rollOut = function () {
    2. buttonmovie1.gotoAndPlay (12);
    3. }
    In dieser Art gibt es dann halt mehrere Buttons, alle gleicher Aufbau, bei allen gleiches ActionScript.

    Jetzt das eigentliche Problem:

    Wenn ich nun Button1 überfahre, wird der dazugehörige MC abgespielt, so soll es sein. Wenn ich den Button nun jedoch schnell wieder verlasse mit der Mouse, also einen rollOut mache, dann bleibt der "buttonmovie"-MC im jeweiligen Bild hängen. So dass sich dann nach einigem hin und her fahren, oftmals die ganze Navigation "aufhängt"......
    Das heisst, alle Buttons sind dann in Ihrem ausgefahrenen Zustand und klappen nicht mehr ein (bzw. besser gesagt: Sie stoppen und spielen den rollOut nicht mehr ab)

    Ich hoffe ich konnte euch das gut genug erklären. Ich habe leider meine Flash-Datei heute morgen vor der Arbeit nicht upen können, da mein I-Net zuhause nicht geht! Daher kann ich von hier auf der Arbeit nur das Problem so gut wie möglich umschreiben.

    Wenn ihr das ganze mal ganz simpel nachbaut, einfach nur ma eben paar Vierecke macht, als Billig-Navi, werdet ihr das Problem sehen. Ich hatte das bisher fast jedesmal, wenn ich derart eine Navigation gebaut habe bzw. bauen wollte.

    Entweder mache ich was falsch oder Flash kann das so nicht verarbeiten.

    Es wär wirklich nett, wenn ihr mir helfen könntet, weil ich auch denke, dass ich nicht der Einzige bin, der dieses Problem kennt und an einer Lösung interessiert ist!

    Danke!!!!
     
    #1      
  2. schinki

    schinki Aktives Mitglied

    Dabei seit:
    29.03.2006
    Beiträge:
    398
    Geschlecht:
    männlich
    Ort:
    Berlin
    Flash: Problem mit rollOver / rollOut !
    Das Problem kenne ich nur zu gut! :)
    Allerdings ist dein AS falsch was den RollOver und RollOut angeht.

    Um das ganze platzmäßig mal abzuspecken brauchst du doch gar keinen Button.


    [php:1:66885dd3ae]
    buttonmovie1.onRollOver = function() {
    buttonmovie1.gotoAndPlay(2);
    };
    buttonmovie1.onRollOut = function() {
    buttonmovie1.gotoAndPlay(12);
    };
    [/php:1:66885dd3ae]

    So funzt es todsicher!!!


    Lg Schinki
     
    #2      
  3. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Hey super! Danke!

    Aber wenn ich dich richtig verstanden habe, dann wird auch das abändern des AS nichts an dem Problem ändern oder doch???
    Sonder nur den Code drastisch sparen, oder?

    Kann's leider mom. nicht testen....
     
    #3      
  4. schinki

    schinki Aktives Mitglied

    Dabei seit:
    29.03.2006
    Beiträge:
    398
    Geschlecht:
    männlich
    Ort:
    Berlin
    Flash: Problem mit rollOver / rollOut !
    Das ansprechverhalten ist wesentlich kürzer als vorher.

    Beispiel:

    Tochter > Mutter > Vater

    Tochter ruft Mutter um Vater etwas auszurichten.
    Hört Mutter oder Vater nur einen augenblick nicht zu dann kommen Fehlinformationen an.
    Stille Post.
    In unserem Fall rufen wir direkt den Vater und teilen unser anliegen mit.
    Dann geht nichts schief!

    Das bedeutet also das der Script ohne Probleme läuft und dein Button immer reagiert.


    LG schinki
     
    #4      
  5. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Das wär der Hammer!!!

    Probiere ich sofort zuhause aus. Vielen lieben Dank!!!
     
    #5      
  6. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Flash: Problem mit rollOver / rollOut !
    Hallo,

    wenn Du mehrere Buttons dieser Art hast, dann kann man das Skript noch vereinfachen, vorausgesetzt, die Reaktion ist immer die gleiche.

    Annahme: auf _root befinden sich 5 MCs namens button1 bis button5 sowie 5 zugehörige, animierte MCs namens buttonMovie1 bis buttonMovie5.


    //maximale Anzahl der Buttons
    vMaxButtons = 5;
    //leeres Array für die Buttons
    aButtons = [];
    //Name aller Buttons zuzüglich spezifische Nummer
    vName = "button";
    //Teilname aller anzusprechenden Filme bei rollOver und rollOut
    vMovie = "Movie";
    //Schleife, um das Array mit den Buttoninstanzen zu füllen
    for (var i = 1; i<=vMaxButtons; i++) {
    //der Instanzname lautet jeweils button plus Zahl
    //daraus wird mit this[] (alte schreibweise: eval) ein Pfad für eine Instanz generiert
    aButtons.push(this[vName+i]);
    }
    //nachdem alle Buttons erfasst sind, weisen wir allen das gleiche Verhalten zu
    for (var i = 0; i<aButtons.length; i++) {
    //alle erhalten ein rollover
    aButtons.onRollOver = function() {
    //im Instanznamen weist das letzte Zeichen, die Zahl, auf den zugehörige MC hin
    var vWer = this._name.substring(vName.length);
    //der korrekte Instanzname des zugehörigen MCs wird zusammengesetzt
    //aus Buttonname, Movieteilnahme und Zahl
    this._parent[vName+vMovie+vWer].gotoAndPlay(2);
    };
    //... und dasselbe natürlich auch bei rollOut.

    Vorteil: das System ist flexibel, man kann die Anzahl der Buttons beliebig ändern durch Anpassen der Variablen vMaxButtons.

    Wenn die Buttons zu einem späteren Zeitpunkt nicht mehr per Skripting angesprochen werden müssen, dann kann man auch auf das Array verzichten und das Skript direkt in der ersten for-Schleife einfügen.

    Viel Spaß
     
    #6      
  7. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Ebenfalls vielen lieben Dank!

    Durch dein Beispiel muss ich mich allerdings erst ein bisschen druchkämpfen, ich weiss, was du machst und wieso, aber ich muss erstmal die einzelnen Zeilen kapieren!!!

    Ich gebe aber zu, dass dieses Script die Arbeit um ein Vielfaches erleichtert. Einmal geschrieben, feddich!!!

    Ich werds mir noch ein paar Mal reinziehen, dann hab ichs hofftl. verstanden!
     
    #7      
  8. schinki

    schinki Aktives Mitglied

    Dabei seit:
    29.03.2006
    Beiträge:
    398
    Geschlecht:
    männlich
    Ort:
    Berlin
    Flash: Problem mit rollOver / rollOut !
    Wenn du solche Scripte verstehst, warum erkläre ich dir dann die Geschichte mit Mutter und Tochter?

    Verstehe ich jetzt nicht..... :eek:


    Lg Schinki
     
    #8      
  9. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Mhh. Pass auf:

    Ich verstehe sie, sagen wir mal, ansatzweise...ich weiss, was er dort macht bzw. machen wird. Aber ich bin keinesfalls in der Lage, dass so komplett selber und alleine zu machen.

    Und ehrlich: Mutter und Tochter waren bei mir der entscheidende Wink mit dem Zaunpfahl. Ich dachte eigentlich, dass Flash, egal wie ich programmiere alles gleich schnell abarbeitet. Klar, nachdem du gepostet hast, war mir dann aber klar udn vor allem logisch, dass die Verarbeitung so, wie ich es gemacht habe viel länger dauert und das Script dadurch hängen bleibt.

    Ich bin ja wie mal erwähnt leider kein Progger (siehe auch Komponenten bearbeiten bzw. Scroller selber schreiben). Ich arbeite mich in die Materie ein....aber wie gesagt, ich verstehe ja auch nicht alles von seldons Script. Z.b. werde ich mir nachher erstmal genau reinziehenmüssen, wie genau jetzt eine Schleife funzt.

    Vielleicht passt die Aussage besser:

    Ich verstehe den Sinn hinter seldons Beispiel und ich kann es "ansatzweise" lesen!!!

    Wie gesagt, ich bin dir sehr dankbar für deine Hilfe, nicht das hier der Eindruck entsteht, ich würde euch verarschen wollen!
     
    #9      
  10. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Flash: Problem mit rollOver / rollOut !
    Hallo Whykiki,

    keine Angst, niemand glaubt, Du willst jemanden verarschen. Schinki hat recht und sein Hinweis ist nützlicher als mein Skript. Mein Skript ist vielleicht zum jetzigen Zeitpunkt der berühmte Kanonenschuß auf Spatzen.

    Nur: wenn man tiefer ins Skripting einsteigen will und komplexere Sachen machen möchte, dann wird man auch zu solchen Skripten greifen müssen. Insofern betrachte mein Beispiel als Anregung zur vertieften Auseinandersetzung mit AS. Falls größeres Interesse besteht, kann ich auch einen längeren AS-Kurs als Tutorial schreiben (als unregelmäßige Folge von Tuts).

    Viel Spaß
     
    #10      
  11. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    @seldon:

    Das wär mal ein Knaller. AS-Tuts. Könnte ich gut gebrauchen. Ich habe zwar den Mega-Schinken von Matze K. Kannengieser zuhause, aber wenn man vorher in seinem Leben noch ne richtig programmiert hat, ist das was viel. Gut fand ich die Sachen von dragslidefade....die hab sogar ich gerafft!

    Wenn du Zeit findest sehr, sehr gerne, aber stress dich net!!!
     
    #11      
  12. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Flash: Problem mit rollOver / rollOut !
    Hallo Whykiki,

    unter meinen rund 40 Flashbüchern (protz, protz) diverser Versionen ist das von Kannengießer (Actionscript. Das Praxisbuch, knapp 1000 Seiten, ? 30 - nein, ich bekomme leider keine Provision) eines der wenigen, das ich immer wieder gerne zur Hand nehme. Es ist uneingeschränkt empfehlenswert, aber setzt in der Tat gehöriges Sitzfleisch und einiges an Kenntnissen voraus, um auch alle Feinheiten darin zu verstehen.

    Dragslidefade war insofern sicher zugänglicher als es längere, themenbezogene Workshops bot. Übrigens: das Buch kann, obwohl es "nur" MX ist, immer noch jeder kaufen, da AS 1.0 ja nach wie vor aktuell ist (man muß nicht auf Teufel komm raus in 2.0 skripten - hängt halt von der konkreten Arbeit ab).

    Ja, wenn genügend Interesse da ist, schreibe ich gerne einen längeren Kurs, dargeboten in verdauungsfreundlichen Häppchen (nicht böse gemeint: wenn AS die erste Skriptsprache ist, dann gestaltet sich der Zugang nicht ganz so einfach).

    Viel Spaß
     
    #12      
  13. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Code (Text):
    1. nicht böse gemeint: wenn AS die erste Skriptsprache ist, dann gestaltet sich der Zugang nicht ganz so einfach

    Genau da liegt auch der Hase im Pfeffer. MIr gestaltet sich der Einstieg wahrlich schwer. Als Nachschlagewerk ist Matze K's Buch auch sicherlich top, daher habe ich es ja gekauft. Aber als ich dann damit vor' Rechner saß, ist mir erstmal aufgefallen, dass ich mir vllt. hätte einen leichetern Einstieg holen sollen. Ich hab da jede Menge Information bekommen, mit der ich im ersten Moment gar nicht wirklich was anfangen konnte....

    Trotz allem soll das nicht heissen, dass das Buch nicht gut ist. Ich sehe es als Art "Tabellenbuch" (bin gelernter Elektroniker ;-)) Da kann man gut Standards nachschlagen u.s.w.

    Fazit: Ich freue mich riesig auf dein Tutorial und auf einen weiteren Schritt (für mich) Richtung AS!!!!

    Danke!
     
    #13      
  14. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    So....ich bin nun zuhause und hatte die Möglichkeit zu testen!

    @schinki: Wenn ich mein AS so umändere wie von dir beschrieben, dann hüpft der Film und kommt gar nicht bis zum Ende....das mag jedoch an der im MC enthaltenen Maske liegen, werde ich jedoch gleich nochmal anders testen.

    @seldon: Nach einigen Verständnisproblemen, habe ich das Script gerafft, funzt auch prima....

    ABER (ich muss echt leider aber sagen...):

    ...auch hier habe ich das Problem, dass beim rollOut, je nachdem wie schnell ich die Buttons mit der Mouse verlasse, der Film hängen bleibt (siehe Threadbeginn).

    Ich denke ihr seid nun beide nicht mehr on, vllt können wir das ja morgen weiter diskutieren??? Mir wäre viel an einer Lösung gelegen....

    Edit:mad:schinki: Jau liegt wohl an der Maske, hab mal n neues Bpsl gemachtt, da gehts....schade, ich brauch die Maske aber...und ich hab keinen PLan, warum der dass dann nicht abspielt.
     
    #14      
  15. schinki

    schinki Aktives Mitglied

    Dabei seit:
    29.03.2006
    Beiträge:
    398
    Geschlecht:
    männlich
    Ort:
    Berlin
    Flash: Problem mit rollOver / rollOut !
    Das liegt dann an derMaske.
    Du brauchst ein Aktives Feld als Button-Fläche.
    Rechteck mit dem alphawert von 0 beispielsweise.


    LG Schinki
     
    #15      
  16. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Hi, juhu doch noch da...

    Jau stimmt liegt def. daran....nur vllt blöde Frage:

    So wie`s derzeit aussieht müsste ich ja dann wieder zu meinem ersten Bspl. zurück, oder?
    Also einen Alpha 0-Button, der den MC anspricht, weil sich die Maske ja innerhalb meines MC befindet, welcher abgespielt wreden soll.

    So'n Mist...wenn ich das mit billigen Testvierecken mache, dann ist dein Bspl. astrein, superschnell und keine Hänger mehr!!

    Hier mal ne kleine Testversion:

    http://www.whykiki.de/schinki.fla (mit deinem Script)

    http://www.whykiki.de/main.fla (mit meinem Script)

    Nicht lachen, sieht nochj nicht so geil aus, ich teste ja noch...
     
    #16      
  17. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Flash: Problem mit rollOver / rollOut !
    Hallo Whykiki,

    sorry, das mit der Maske habe ich wohl in Deinem post überlesen. Die fla kann ich leider nicht herunterladen. Kannst Du vielleicht einen oder zwei Screenshots posten oder genauer beschreiben, wie deine mcs/btns aufgebaut sind?

    Viel Spaß
     
    #17      
  18. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Irgednwie hat mein FTP gesponnen, jetzt sollten beide on sein...

    Ich mach trotzdem mal Screens...
     
    #18      
  19. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Flash: Problem mit rollOver / rollOut !
    Zu den Buttons:

    Viereck mit Alpha = 0, alle Stoß an Stoß untereinander.

    Script Buttons:
    Code (Text):
    1. button1.onRollOver = function() {
    2. buttonmovie1.gotoAndPlay(2);
    3. }
    Hmm mit dem Screenshot vom Movie wird schwer, ich probiers....

    [​IMG]
    [​IMG]
    [​IMG]

    Ich habe mal auszugweise meinen MC gescreent. Der "transparente" Balken wird dann halt zu sehen sein....

    Da aber alle Buttons hinterher diesen ausfahrbaren Balken haben sollen, darf aber eigentlich nur der horizontale, kurze Balken (siehe Bild 3) als Button für rollOver und rollOut dienen.
    Da ich nicht wusste wie ich das anders lösen soll, habe ich dann dafür nun eigene neue Buttons gemacht, siehe oben beschrieben!

    Hmm ich hoffe das erklärt alles besser...

    Cool, dass ihr beide noch da seid und danke für eure tatkräftige UNterstützung!!!
     
    #19      
  20. schinki

    schinki Aktives Mitglied

    Dabei seit:
    29.03.2006
    Beiträge:
    398
    Geschlecht:
    männlich
    Ort:
    Berlin
    Flash: Problem mit rollOver / rollOut !
    Das kann so auch nicht funktioniern.
    In der Maskenebene ist das erste Schlüsselbild leer.
    Die darunterliegenden MC's sind somit nicht sichtbar.

    Erstelle eine neue Ebene mit einem Rechteck welches die Buttonfläche darstellen soll.
    Diese Fläche gibst du einen Alphawert von 0 und fertig.
    Wie schon gesagt.

    Mehr ist es nicht.


    LG Schinki
     
    #20      
Seobility SEO Tool
x
×
×