Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-09-2005, 16:55   #1 (permalink)
hirnfrisch
 
Benutzerbild von mauci
 
Registriert seit: Sep 2001
Ort: wien
Beiträge: 538
mouse follow nur in best. bereich sichtbar

liebe leute,
ich weiß, dass es tausend beiträge zum thema mousefollow gibt. was ich möchte, war aber noch ein thema.
ich möchte, dass wenn ich mit der maus in einen bestimmen bereich (rechteck) komme, ein mc erscheint, der meiner maus folgt. sobald ich den bereich mit dem mauszeiger verlasse, soll er wieder verschwinden. ich dachte ich mach das mit_visible, aber es funktioniert nicht. weiß wer warum?
hier der code:

PHP-Code:
onClipEvent (load){
    function 
maus () {
        
Math.round(this._x this._x+(this._xmouse)/10);
        
Math.round(this._y this._y+(this._ymouse)/10);
        
this._visible=false;
    }
}
onClipEvent (enterFrame) {
    if (((
_root._xmouse>100) && (_root._xmouse<300)) and ((_root._ymouse>100) && (_root._ymouse<300))){
        
maus();
        
this._visible=true;
    }

danke scho'mal
mauc
mauci ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:20   #2 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
Kannst Du mal den Aufbau Deines Movies beschreiben, bzw. sagen WAS nicht klappt?
__________________
---::::: AVisioN :::::---
AVisioN ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:22   #3 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Hab's mal ohne diese alten "clipEvents" gemacht. Dein Verfolger sollte nun noch den Instanznamen "verfolger" bekommen (macht ja auch Sinn).
ActionScript:
  1. function maus(mc) {
  2.     Math.round(mc._x += (_root._xmouse-mc._x)/10);
  3.     Math.round(mc._y += (_root._ymouse-mc._y)/10);
  4. }
  5. this.onEnterFrame = function() {
  6.     if (((_root._xmouse>100) && (_root._xmouse<300)) and ((_root._ymouse>100) && (_root._ymouse<300))) {
  7.         verfolger._visible = true;
  8.         maus(verfolger);
  9.     } else {
  10.         (verfolger._visible=false);
  11.     }
  12. };
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:38   #4 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
Ach und mal als Ansatz: Neuer Movie > Viereck auf die Bühne > Symbol draus und Instanz "area_mc" genannt > zweiter Movie (der Mousefollower) erstellt auf die Bühne und "follow_mc" genannt, dann actionscript in den ersten Frame (wir haben nur einen):
ActionScript:
  1. var target_mc = follow_mc;
  2. target_mc._visible = false;
  3. area_mc.onRollOver = function(){
  4.     target_mc.onEnterFrame = function(){
  5.         this._x = _root._xmouse;
  6.         this._y = _root._ymouse;
  7.     }
  8.     target_mc._visible = true;
  9. }
  10. area_mc.onRollOut = area_mc.onDragOut = function(){
  11.     delete follow_mc.onEnterFrame;
  12.     target_mc._visible = false;
  13. }

Wie gesagt - ein Ansatz.
__________________
---::::: AVisioN :::::---
AVisioN ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:40   #5 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
Anmerkung - ich finde es besser ein Objekt als Referenz zu haben da man dann auf überflüssige onEnterFrames verzichten kann, bzw. diese nicht habe wenn die Maus nicht drüber ist.
__________________
---::::: AVisioN :::::---
AVisioN ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:57   #6 (permalink)
hirnfrisch
 
Benutzerbild von mauci
 
Registriert seit: Sep 2001
Ort: wien
Beiträge: 538
perdautz!

das sind 2 perfekte lösungen! beides ausprobiert - beides ein genuß! avisions lösung hab ich noch durch den verzögerungseffekt ergänzt, - passt alles!

jetzt schau ich mir nochmal alles genau an, damit ich in zukunft vielleicht auch etwas 'moderneren' code verwenden kann. bin halt ein bisschen von gestern...

danke!
mauc
mauci ist offline   Mit Zitat antworten
Alt 14-09-2005, 18:36   #7 (permalink)
hirnfrisch
 
Benutzerbild von mauci
 
Registriert seit: Sep 2001
Ort: wien
Beiträge: 538
ich doch nochmal......

ich möchte mit dem mousefollow am zeiger auch schaltflächen anklicken können.

mit der variante von derfrager funktioniert das.
mit der von avision nicht.

prinzipiell hab ich ja jetzt eine funktionierende lösung. mich hätte nur interessiert, warum die zweite lösung mit schaltflächen nicht geht....

mauc
mauci ist offline   Mit Zitat antworten
Alt 14-09-2005, 18:46   #8 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
Das ist recht einfach erklärt - Dein "Sensitive" Rechteck liegt wahrscheinlich über den Buttons - auch sonst ist meine Variante komplizierter da man immer den MouseOverZustandDerMaus sieht (der Film wird dann als Button behandelt).
Der Vorteil ist die Performance - will man aber Dein Problem beheben und gleichzeitig von meiner Lösung profitieren bietet es sich an "onRollOver" das "onRollOver" zu löschen und dann die Abfrage über einen Test ob "Mouse über dem Viereck in Betracht seiner Grösse" zu dem onEnterFrame hinzuzufügen(wie trennt man das?).
__________________
---::::: AVisioN :::::---
AVisioN 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 23:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele