ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
1134
1134
EMPFEHLEN
-
Hi,
Ich habe folgendes Problem in meinem Flashfilm:
Ich habe den Hauptfilm, und 2 andere .swf Dateien
Im Hauptfilm befindet sich Viereck, in das durch "loadMovie" die 2 anderen .swf Dateien hineingeladen werden, zum laden der unterfilme gibt es 2 Buttons.
Die unterfilme sind beide mit einem selbstgebauten Scrollbalken versehen, aufgebaut wie im Flash-Tutorial auf dieser Seite von Tobias Menzel (sry falls der Name falsch geschrieben ist
)
Außerdem habe ich selbst noch eine Mausrad-Scrollfunktion eingebaut:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
var listener = new Object(); listener.onMouseWheel = function(delta) { var offsett = (delta / Math.abs(delta)); window.container._y += 50 * offset; scroller.slider._y -= 45 * offset; window.container.reSize(); // Content Position if (window.container._y > 0) { window.container._y = 0; } if (window.container._y < -150) { window.container._y = -150; } // Slider Position if (scroller.slider._y > 136) { scroller.slider._y = 136; } if (scroller.slider._y < -1) { scroller.slider._y = 0; } ypsilon = window.container._y; epsilon = scroller.slider._y; } Mouse.addListener(listener);
(epsilon und ypsilon dienen nur zur Ausgabe der Positionen für ein dynamisches Textfeld, war nur für mich um die Positionen zu bestimmen.)
Folgendes Problem nun:
Wenn ich im Hauptfilm durch den Button diesen Film Lade, in dem der obere Actionscript drin ist, dann funktioniert alles 1 a, z.B. brauche ich das Mausrad 3 mal zu scrollen und der text ist ganz unten, dabei bewegt sich der Scrollbalken auch 3 mal runter.
Wenn ich jetzt allerdings nochmal auf den Knopf drücke, spricht, die .swf Datei nochmal Lade, ändern sich die Scrollproportionen total, der film ist nach einem Mausrad-dreher schon in der Mitte, der Scrollbalken bewegt sich dementsprechend.
und wenn ich nun nochmal auf den button klicke, scrollt sich der Film durch einmal drehen jetzt schon komplett zum Ende (Scrollbalken auch).
Scrollbalken und Inhalt bewegen sich immer zusammen, aber umso öfter ich auf den Button klicke, umso mehr scrollt der Inhalt hoch bzw. runter, warum?
Es kommt mir so vor, als würde auf den wert zum scrollen z.B. 50 beim nächsten klick auf den Button nochmal 50 oder so dazu kommen.
Hab schon einiges probiert, z.B. einige Variablen auf 0 zu setzen, removeListener, etc.
kann aber natürlich auch sein das ich diese falsch plaziert habe..
Vieleicht könnt ihr mir ja weiter helfen wäre echt total froh darüber!!
Danke im Vorraus, SkippyGeändert von Skippy (22.04.06 um 16:23 Uhr)
-
Hi,
das kommt daher, dass der Mouse-Listener beim Reload der swf nicht gelöscht wird und weiterhin aktiv ist - beim Drehen des Mausrades wird die entsprechende Funktion also zweimal ausgeführt (nach jedem Reload einmal mehr).
Du solltest vor jedem Neuladen alle Listener "manuell" löschen - schau Dir dazu mal die Funktion "removeListener" an.
Gruß
.
-
erstmal danke für deine Antwort.
Also removeListener hab ich eigentlich schon versucht, kannst du mir vieleicht sagen wo genau der stehen muss und noch wie der aussehen soll, dass ich auch nichts falsch mache
danke im vorraus, Skippy
-
Zum testen habe ich einfach einen neuen Film erstellt, nur ein Viereck in den der Content reingeladen wird und ein einfacher button, der Button besitzt folgenden Text:
Code :1 2 3 4 5 6 7 8 9 10 11
on (press) { Mouse.removeListener(listener); Mouse.removeListener(listener_start); removeListener(listener); removeListener(listener_start); _root.test.removeListener(listener_start) _root.test.removeListener(listener) test.removeListener(listener) test.removeListener(listener_start) _root.test.loadMovie ("startseite_F.swf"); }
Und es bringt GARNICHTs
((
plz help!!
,Skippy
====
EDIT:
====
Jetzt hab ich noch zur externen .swf über dem Haupt-Actionscript (der ganz oben steht) noch folgendes drüber geschrieben:
Code :1 2 3 4
Mouse.removeListener (listener); offset = 0; delta = 0; var listener = delete Object();
Und das bringt auch nichts...
MfG SkippyGeändert von Skippy (21.04.06 um 07:56 Uhr)
-
Hi,
wahrscheinlich hast Du den Pfad zu Deinem Listener falsch angegeben - ohne die Datei zu sehen, kann ich Dir nicht sagen, wo der Fehler sitzt.
... und was soll das:bedeuten?var listener = delete Object();
Gruß
.
-
Das ist das ergebniss zig verzweifelter Versuche es hinzubekommen ohne erfolg... und was soll das:
bedeuten?Code :1
var listener = delete Object();

Gruß
.
(Ich hab eben alles getestet...)
So, im Anhang befinden sich:
TEST.fla <---- Hauptfilm
TEST.swf <---- Hauptfilm
start_F.fla
start_F.swf
http://www.gabbagandalf.de/mousewheel_bug.rar
Dass es irgend ein Fehler sein soll wie falscher pfad, Tippfehler etc. glaub ich kaum, dazu hab ich mir das Teil zu oft durchgeschaut, wenn doch, ist es ein schlechtes Omen...
Bitte um Hilfe!
-
Also ich bin schon die ganze Zeit am testen, ich versuch wirklich alles Mögliche, vieleicht kann mir jemand eine sehr kleine und einfach gebaute testdatei machen ohne viel Aufwand? Bitte helft mir ich verzweifle noch...
Ich muss das hinkriegen so schnell wie möglich.
MfG Skippy
-
Langsam werde ich total wahnsinnig...
Ich habe jetzt den von oben erwähnten Film genommen, der reingeladen wird, da 2 Buttons reingesetzt, und den Actionscript der das Scrollen ermöglicht, da reingesetzt unter
Code :1 2 3
button.onPress = function () { >> Hier der Actionscript von oben << }
und für den anderen Button folgendes:
Code :1 2 3
button1.onPress = function () { Mouse.removeListener(listener); }
Der Code liegt auf einer extra Ebene die "Code2" heist, auf der keine bilder, MCs oder sonstwas liegen, und es ist alles im 1. Frame.
Soweit sogut.
Das Scrollen geht erst sobald ich "button" drücke, und wenn ich ihn nochmals drücke, taucht das von mir oben beschriebe Problem auf, aber wenn ich auf "button1" drücke, na was passiert dann?
GARNICHTS
Arrrrrrrrrrgh ich werde wirklich wahnsinnig ich lauf gleich amok, warum geht den das nicht? : - ((((((((((((
helft mir bitte ich bin am verzweifeln : - (
Mit trauernden Grüßen, SkippyGeändert von Skippy (22.04.06 um 15:47 Uhr)
-
Es ist vollbracht!
Nach
ZAHLREICHEN...
ENDLOSEN....
ERMÜDENDEN....
Versuchen... ist es mir ENDLICH gelungen eine alternative zu finden, die zu keinen Probleme führt, und die funktioniert...
Es ist zwar nicht wirklich das was ich gesucht habe, doch es funktioniert, es gibt zwar ein paar kleine Eingrenzungen, doch es funktioniert
Jetzt weiss ich auch woran es lag, und ich wäre immernoch froh wenn ihr mir ein Problem beantworten könntet:
WIE kann vom Hauptfilm aus, den Mouse Listener einer .swf Datei löschen, der im Hauptfilm durch loadMovie eingelesen wurde?
-
indem man den Pfad anspricht..
Zitat von Skippy
nun kommt es darauf an wie die swf geladen wurde..
in ein Container..?
in ein level..
P.S.
auf dein Startseitebutton
on(press) {
Mouse.removeListener(_root.test.listener);...usw
und verwende bitte keine von Flash reservierten Wörter wie zb.. listenerGeändert von umlart (22.04.06 um 21:18 Uhr)
*Man muß nicht wissen wie es geht!*
*Man muß nur wissen wo es steht!*
-
.. Jungs, pusht Eure Threads doch nicht andauernd und bitte auch nicht mit riesen-Alarmschrift ...
.
Ähnliche Themen
-
Seite entdeckt - mit Mausrad scrollen
Von Denniz im Forum Flash PlattformAntworten: 5Letzter Beitrag: 02.09.06, 17:29 -
Probleme beim scrollen
Von kingafro im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 21.07.05, 13:47 -
Mausrad scrollen konfigurieren! unbedingt reinschaun!
Von Gragi im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 26.04.05, 01:06 -
probleme scrollen in Netscape 7 am mac
Von v_ero im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 19.07.04, 13:38 -
Probleme mit dem Scrollen
Von thebestmaster im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 15.03.04, 14:47





Login





