| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 4
| geht es, das 'nicht mouseMove' etwas auslöst?
Anfängerfrage: Ich würde gern die Bewegung eines Clips so steuern, dass er der Mausbewegung folgt (kein Problem) dann aber, wenn die Mausbewegung stopt, soll der Clip zurück zum Ausgangspunkt. Aber einen Gegenspieler von 'mouseMove' also 'mouseStop' finde ich nicht. Wie komme ich es denn trotzdem zu dem Ergebnis?? Danke! |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
z.b. Code: onClipEvent (load) {
AltMousX = _root._xmouse;
AltMousY = _root._ymouse;
AltWarte = 300;
AltTime = getTimer()+AltWarte;
}
onClipEvent (enterFrame) {
if ((AltMousX == _root._xmouse) && (AltMousY == _root._ymouse)) {
if (AltTime<getTimer()) {
// maus hat sich nicht bewegt
// etwas wartezeit ist auch vergangen
// sonst reagiert es zu spontan
// jetzt könnte man etwas machen
}
} else {
AltMousX = _root._xmouse;
AltMousY = _root._ymouse;
AltTime = getTimer()+AltWarte;
}
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 4
|
Vielen Dank für die Antwort. Ich merke schon, dass ich mich wohl erst einmal intensiever mit den Grundlagen befassen muss. Bis jetzt hab ich in Flash nur ohne Scripts gearbeitet und dachte die kleine Animation (Siehe BLBlick1.fls) kriege ich schon irgendwie hin aber so, wie ich mir das vorgestellt habe schaffe ich es auch mit dem Beispiel-Script nicht. Das Script sagt doch: hat sich die x-Position oder hat sich die Y-Position verändert, mach DAS. Hat sie es nicht mach DIES. In meinen besten Versuchen ist die Pupille entweder zum Ausgangspunkt gesprungen oder in Richtung Zeiger aber nie so, dass beim Ziehen der Maus gefolgt wird und beim Anhalten auf den Mittelpunkt des Auges gesprungen wird. Äh, muss ich meine Pupille 'AltMous' nennen? Sollte ich es lieber doch bleiben lassen und erst einmal einen ActioScript-Kurs besuchen? mathias |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
"..erst einmal intensiever mit den Grundlagen befassen muss.." sehr gute idee :-))))) "..dass er der Mausbewegung folgt (kein Problem).." ich dachte, du könntest das, deshalb habe ich es im script nicht ergänzt. zumal es 10.000 möglichkeiten gibt, irgend etwas zu animieren. Code: onClipEvent (load) {
AltMousX = _root._xmouse;
AltMousY = _root._ymouse;
AltWarte = 300;
AltTime = getTimer()+AltWarte;
OrgPosiX = this._x;
OrgPosiY = this._y;
}
onClipEvent (enterFrame) {
if ((AltMousX == _root._xmouse) && (AltMousY == _root._ymouse)) {
if (AltTime<getTimer()) {
// maus hat sich nicht bewegt
// etwas wartezeit ist auch vergangen
// sonst reagiert es zu spontan
// jetzt könnte man etwas machen z.b.:
this._x = (this._x*4+OrgPosiX)/5;
this._y = (this._y*4+OrgPosiY)/5;
}
} else {
AltMousX = _root._xmouse;
AltMousY = _root._ymouse;
AltTime = getTimer()+AltWarte;
this._x = _root._xmouse;
this._y = _root._ymouse;
}
} in onClipEvent (enterFrame) stellst du fest, ob sich die maus bewegt hat UND du machst mit deinem objekt, was immer du während der mausbewegung machen willst. wurde die maus nicht bewegt, dann zurück zum ausgangsstatus. in AltMous merkst du dir die alte position der maus (wie sonst könnte man feststellen, ob sich diese bewegt hat). DEIN objekt (das diesen code beinhaltet) heisst Ganz_egal_wie; im code ist es "this" -objekt. AltMousX = _root._xmouse; könnte man auch so schreiben this.AltMousX = _root._xmouse; man schreibts halt nicht, weil diese variablen sowieso zu diesem (this) objekt gehört.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 4
|
Danke!! für die ausführliche und lehrreiche Antwort! In diesen Bereichen hab ich das Gefühl, meine Logig und die Script-Logig sind nicht vom gleichen Planeten ... Aber egal, es funktioniert dank deiner Hilfe so wie ich es mir vorgestelt habe. (siehe BLBlick1.swf) Eines Tages werde ich dann vielleicht auch: this._x = (this._x*4+OrgPosiX)/5; this._y = (this._y*4+OrgPosiY)/5; verstehen. Also nochmals Danke! Mathias |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
um auch noch dieses "geheimnis" zu lüften: this._x = (this._x*4+OrgPosiX)/5; 4+1=5 je loop rückt this 1/5tel des jeweiligen abstandes zur alten position zurück. 11+1=12 so gehts langsamer 2+1=3 so gehts schneller
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |