mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 11.12.2016 13:26 Benutzername: Passwort: Auto-Login

Thema: Mausereignis für bestimmten MC über onMouse... abfangen vom 17.08.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Mausereignis für bestimmten MC über onMouse... abfangen
Autor Nachricht
GELight
Threadersteller

Dabei seit: 22.05.2006
Ort: Germany
Alter: -
Geschlecht: Männlich
Verfasst Do 17.08.2006 19:34
Titel

Mausereignis für bestimmten MC über onMouse... abfangen

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

Ich versuche seit einiger Zeit meine Mausereignisse Over, Out, Move und Klick für einen MovieClip abzufangen.
Das ganze will ich aus einem bestimmten grund nicht mit einer Schaltfläche machen. ( FF Problem )

Mein Script liegt zB. auf meiner RootEbene und schaut so aus.
Code:

close_but.onMouseMove = function(){
   close_but.over(); // spielt einen weiteren MC ab
   _root.klick.start(0, 1); // spielt einen sound ab
}


Das Script selbst functioniert. Also er spielt alles ab, was ich möchte.
Das Problem ist nur, dass er die function über der kompletten Rootebene startet.
Also nicht nur, wenn ich über den "close_but" MC fahre.

Was mach ich falsch?
Dachte immer das das so gehen müsste. Vorallem hatte ich es schon so verwerndet in anderen Projekten.

Mario
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
tobey

Dabei seit: 17.01.2006
Ort: Wien
Alter: 7
Geschlecht: Männlich
Verfasst Do 17.08.2006 21:02
Titel

Antworten mit Zitat Zum Seitenanfang

Ich bin mir nicht sicher...kannst du mal eine *.fla hochladen?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 35
Geschlecht: Männlich
Verfasst Do 17.08.2006 21:21
Titel

Antworten mit Zitat Zum Seitenanfang

Warum benutzt du "onMouseMove" als Ereignis? Damit werden Listener aufgerufen, keine Movieclip-Instanzen bzw. Schaltflächen. Kein Wunder, dass du sobald du die Maus auf der Bühne bewegst deine Aktionen feuern. *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 38
Geschlecht: Männlich
Verfasst Do 17.08.2006 21:50
Titel

Antworten mit Zitat Zum Seitenanfang

Also, wenn ich dich richtig verstehe, willst Du, daß eine Funktion gestartet wird, wenn Du mit der Maus über einen/mehrere Clips fährst. Warum machst Du dir nicht ein Inteval, das einen Hittest mit der Mausposition macht und bei true dann deine Funktionen aufruft ???



Quasi so:

Code:
var mouseHover:Function = function(){
   switch(Test.hitTest(_xmouse, _ymouse)){
      case true:
      trace("MOUSE OVER TEST")
      break;
   }
}


var Interval = setInterval(mouseHover,50);



Aber nichts destotrotz: Was ist das "FF Problem" ??? Und warum machst Du nicht einfach:

Code:
Test.onRollOver = function(){
   trace("MOUSE OVER TEST")
}


Zuletzt bearbeitet von phihochzwei am Do 17.08.2006 21:56, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
GELight
Threadersteller

Dabei seit: 22.05.2006
Ort: Germany
Alter: -
Geschlecht: Männlich
Verfasst Fr 18.08.2006 11:40
Titel

MouseOver

Antworten mit Zitat Zum Seitenanfang

Das Problem entsteht im Firefox für Windows.
Ich zeige in der Lightbox ( falls ihr die kennt ) meine FlashSWF.
Das Große Problem ist folgendes. Er verschiebt mir alle meine Aktiven Bereiche ALLER Objecte auf der Bühne.
Sprich... auch von Textfeldern.
Bei Schaltflächen ist der Aktive Beriech beispielsweise nach rechts oder unten verschoben wobei die schaltfläche selbst an ihrer position bleibt. Bei Textfeldern wo ich den Text selectieren kann, muss ich dann auch mit der Maus unterhalb vom Textfeld selbst stehen um den text anwählen zu können. Das nur so zu diesem Fehler.

Aus diesem Grunde dacht ich mit, dass ich die Mausabfragen für Over, Out, und Klick (release) über eine on-function abfangen kann. Mit onRollOver und onRollOut klappt das auch MC bezogen. Nur der Klick will noch nicht. onMouseUp ist da ja die flasche Variante gelle?

Ich hab aber eben auch schon bemerkt, dass nichtmal diese ranngehensweise den Fehler behebt.
Auch hier ist der Aktive Bereich total verschoben.... scheiße.
Naja egal... dann würde mich dennoch interessieren, wie ich am besten einen Release für einen MC abfangen kann ohne eine Schaltfläche.

Mario
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 38
Geschlecht: Männlich
Verfasst Fr 18.08.2006 12:09
Titel

Antworten mit Zitat Zum Seitenanfang

Stell einfach mal eine Dummy-FLA oder deine FLA hier rein, dann kann man dir bestimmt hefen Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
labrar

Dabei seit: 04.04.2006
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Sa 19.08.2006 00:05
Titel

Antworten mit Zitat Zum Seitenanfang

Bitte korrigieren wenn ich falsch liege, wenns auch so in sämtlichen Büchern steht (und das sind einige) die ich habe.

onMouseMove, on MouseUp, onMouseDown usw. sind nix anderes wie oeF Schleifen. Der einzigste Unterschied besteht darin dass du diese Schleifen auf einen Mc etc. beziehst. Aber abgearbeitet werden sie übergreifend. (Global)
diese werden solagne abgearbeitet solange eine Fubktion war ist(Mausbewegung, Maus gedrückt, Maus losgelassen etc)
und du musst die Schleife nicht mit einem delete Unterbrechen.

Will sagen:

Wenn dus nicht via Buttonfunktionen machen möchtest dann entweder hitTest oder onMouseDown bzw onMouseUp.

Da letztere zwei bei dir nicht zu funktionieren scheinen, solltest du mal den gesamten Code überprüfen.

Möglicherweise löscht du mit einer Funktion die andere aus. Also achte mal drauf ob du irgendwo einen _root.onMouseDown oder einen _parent.onMouseDown findest der möglicherweise mit einem meinmc.onMouseDown konkuriert.

2.

Die Sache mit den verschiebungen verstehe ich nicht ganz. Wie verschiebt sich was und nach welcher Aktion??


Zuletzt bearbeitet von labrar am Sa 19.08.2006 00:09, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
GELight
Threadersteller

Dabei seit: 22.05.2006
Ort: Germany
Alter: -
Geschlecht: Männlich
Verfasst Sa 19.08.2006 09:33
Titel

MouseOver

Antworten mit Zitat Zum Seitenanfang

Danke für die ausführlichen Hilfen von euch.
Okay.... dann versuch ich nochmal alles zu erklären.

Zum abfangen meiner Mausereignisse:
Ich brauch keine FLA hochschieben, da meine TestFLA nichtmal groß ist.
Ich habe einfach nur einen MC, wo was drin liegt, damit ich etwas als ziel habe.
Darin ne kleine Function, die was ausgibt... mehr nicht.
Dieser MC liegt auf der RootEbene.
Das Script liegt eine ebene drüber auch im Root und schaut so aus...
Code:

close_but.onRollOver = function(){
   close_but.over();
   _root.klick.start(0, 1);
}
close_but.onRollOut = function(){
   close_but.out();
}
close_but.onMouseUp = function(){
   close_but.klick();
}

Das Rollover und das Rollout geht wunderbar. Nur das Klickereignis ist mit den onMouseUp, Down Methoden nicht so recht möglich das ganze auf den MC zu beziehen, den ich haben will. Es wird dann wirklich alles global und immer ausgeführt, egal, wo ich mich befinde. Das onRollOver und RollOut hab ich durch zufall mal über Google gefunden und das ging halt für die beiden Dinge soweit.
Wie müsste ich hier nochmal die KlickSache machen?

Zu dem VerschiebeProblem nochmal kurz:
Ich nutze zur Darstellung meines Flashfilms ein Javascript, welches den kompletten Browser abdunkelt.
Dieses nennt sich Lightbox ( ist im Netz zu finden ).
Stelle ich nun darin meinen Film dar, dann werden von sämtlichen Objecten im Film die sensitiven Bereiche verschoben.
Beispiel: Eine Schaltfläche mit 100x100 liegt bei 0x0. Fahre ich mit der Maus darüber, dann passiert nix... fahre ich mit der Maus irgendwo in der Nähe ( rechts daneben oder drunter ) dann finde ich den aktiven Bereich für diesen.
Das selbe passiert sogar mit Textfeldern, wo der Text selektierbar ist. Ich versuche eine Zeile zu selektieren und muss dafür mit der Maus irgendwo rehcts oder drunter rumklicken um die Zeile zu wählen, die suchtbar 100px drüber steht.
Ist schon ziemlich witzig das ganze... aber auch zum heulen, wenn man schonmal was vor hat... Lächel
Ich würde es selbst nicht glauben, wenn ich es nicht gesehen hätte.
Bette ich den Film ganz normal in meiner Seite ein, dann geht alles wunderbar. Das Phenomen taucht NUR im Firefox für Windows auf. IE6, Linux oder sonstwo geht alles ohne Fehler. Wie gesagt... halt in Verbindung mit dieser Lightbox, die vom Javascript her ziemlich Umfangreich ist. Kennt bestimmt einer von euch denke ich...

Aber am meisten interessiert mich die sache mit den OnKlick Ereignissen MC bezogen, damit ich keine Schaltflächen mehr brauche.

Mario
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [JS] Backspace abfangen
PHP - Interpretierter Output abfangen
php->datei einlesen->Leerzeilen abfangen
[PHP] Maximum execution time abfangen
[.htaccess] Browser Fehlermeldung abfangen (solved)
Bestimmten Tabelleninhalt drucken
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.