Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-05-2007, 14:04   #1 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
"Dragen" in einem bestimmten Bereich

Also es sit nicht wirklich dragen, aber es sollte so sein:

Man hat einen punkt (eine Hand oder was auch immer), diese Zeigt in die Richtung der Maus.
Das ist ja kein Problem:
ActionScript:
  1. onMouseMove = function():Void
  2. {
  3.          Hand._rotation = Math.atan2(Hand._y - _ymouse, Hand._x - _xmouse) * (180 / Math.PI);
  4. };
So nun soll sie aber in einem Bestimmten bereich dragable sein. Also praktisch ein Radius von 80. Sobald man inerhalb dieses Radius ist, sollte die Hand natürlkich direkt an der Maus
sein, aber sobald man außerhalb ist, sollte die Hand am äußersten Punkt sein und genau das ist es was ich nicht hibekomme, we ich die Hand in einem bestimmten Bereich (und jetz nicht mit startDrag, weil es soll ja ein Kreis sein) bewegen kann.

Hoffe das war verständlich

hab nochmal wasw angehängt hoffe das hilf ein bisschen ^^
Angehängte Dateien
Dateityp: rar Unbenannt-1.rar (1,0 KB, 2x aufgerufen)
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi

Geändert von _crypto_ (19-05-2007 um 14:14 Uhr)
_crypto_ ist offline   Mit Zitat antworten
Alt 19-05-2007, 23:42   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Hab hier kein Flash, aber ich würde es so machen:
ActionScript:
  1. var dx : Number = _xmouse - mitte_x;
  2. var dy : Number = _ymouse - mitte_y;
  3.  
  4. var length : Number = Math.sqrt(dx * dx + dy * dy);
  5. var radius : Number = Math.min(80, length);
  6.  
  7. hand._x = dx / length * radius;
  8. hand._y = dy / length * radius;
  9.  
  10. // hier jetzt den Winkel wie gehabt berechnen
  11.  

Falls die Hand nur dann neu positioniert werden soll, wenn die Maus innerhalb des Bereichs ist, dann musst du noch um die letzten zwei Zeilen ein if (length <= radius) packen.
__________________
»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 18:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele