Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-10-2005, 15:27   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Bottrop
Beiträge: 102
Fehler bei rotation zum Mauszeiger

Hallo
ich habe einen MC der sich zum Mauszeiger drehen soll. Allerdings nur ...

a) wenn der Mauszeiger einen bestimmten Wert überschreitet (x.mouse>100)
oder
b) wenn sich das Objekt in einem bestimmten Winkel befindet.

Damit ihr das alles versteht, es geht um eine Figur die man von der Seite sieht, und die soll mit dem Blick der Maus folgen, also den Kopf mitdrehen. Das sieht natürlich nicht gut aus wenn die Figur den eigenen Rücken sehen könnte, daher die Einschränkung.
Mein Code der auf dem MC liegt sieht bisher so aus:
PHP-Code:
onClipEvent (load) {
    
_root.drache.kopf.onEnterFrame = function() {
        if (
_xmouse>75 && _ymouse<-15) {
            
this._rotation Math.atan2(_root._ymouse-this._y_root._xmouse-this._x)/Math.PI*180;
        }
    };

Allerdings stimmt da was mit x und y nicht. Wenn ich die Maus hoch und runter bewege, dreht sich der Kopf schön mit, guckt also nach oben und unten. Wenn ich die Maus aber nach rechts bewege, schaut sie nach oben. Jetzt wäre es besser, wenn sie bei der rechtsbewegung nach unten schauen würde, oder sich bei der x-Bewegung gar nicht rühren würde, nur das bekomme ich irgendwie nicht hin. Wäre über Hilfe dankbar
Gruß
Mister Little
__________________
http://www.misterlittle.com
Mister Little ist offline   Mit Zitat antworten
Alt 02-10-2005, 15:31   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
nimm mal statt der Differenz der x-Werte einfach this._xmouse und this._ymouse, dann sollte es gehen. (evtl. noch mit den Vorzeichen rumprobieren).
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 02-10-2005, 15:50   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Bottrop
Beiträge: 102
Neh, das klappt leider nicht. entweder passiert gar ncihts, oder er rotiert wie verrückt
__________________
http://www.misterlittle.com
Mister Little ist offline   Mit Zitat antworten
Alt 02-10-2005, 16:15   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Das liegt daran, dass sich die Koordinaten ändern, wenn man den Kopf dreht. Ich hab dir ein Beispiel gebastelt …
Angehängte Dateien
Dateityp: zip rotate.zip (7,1 KB, 24x aufgerufen)
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 02-10-2005, 16:29   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Bottrop
Beiträge: 102
Vielen Dank für deine Mühen, nur wenn ich versuche es mit Flash MX zu öffnen, sagt er "Unerwartetes Dateiformat"
__________________
http://www.misterlittle.com
Mister Little ist offline   Mit Zitat antworten
Alt 02-10-2005, 16:49   #6 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
und ich hab erst noch in Flash 8 abgespeichert … dachte dann: oh, vielleicht besser Flash MX 2004

Als Flash MX kann Flash 8 nicht abspeichern … deshalb hier das Script und den Aufbau:


ActionScript:
  1. // auf der Bühne liegt ein MC 'figur', dieser enthält einen MC 'head', welcher wiederum einen MC 'grafic' enthält
  2. // der in 'grafic' gezeichnete Kopf guckt im Anfangszustand nach oben …
  3.  
  4. // 1. Frame von _root
  5. _root.figur.head.onEnterFrame = function() {
  6.     var angle = Math.atan2(this._xmouse, -this._ymouse) / Math.PI * 180;
  7.     if ((angle < 0) && (angle > -90)) angle = 0;
  8.     else if ((angle > 120) || (angle < -90)) angle = 120;
  9.    
  10.     this.grafic._rotation = angle;
  11. };

Und hier zumindest das Beispiel zum Ansehen: http://janosch.scharlipp.de/ff/rotate.swf
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp 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 09:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele