Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-08-2003, 20:41   #1 (permalink)
Use your brain!
 
Benutzerbild von MaDDeePee
 
Registriert seit: Aug 2003
Beiträge: 207
Question Flash _rotation (negative-°) trouble?!?

Hi Leute!

Ist es eigentlich normal, dass Flash den Winkel eines Symbols/etc. von 0 bis 90 , 90 bis 180 und dann von -180 bis -90 usw. angibt?
Wieso nicht 180 bis 270 usw.?
Das ist total umständlich....

Ich hab folgendes Problem:

Ein Objekt steht auf _rotation = 45;
Dieses will ich auf z.B 270 Grad per AS und on(enterframe) drehen;

Sooo, halb so wild - nur möchte ich vorher die entfernung nach links und nach rechts ausmessen und dann in die KÜRZERE Richtung drehen lassen; also entweder this._rotation +=1 oder eben -=1....
Was jetzt super hinderlich ist, ist die abstrakte Gradangabe bei Flash mit den negativen Werten....oder hab ich was falsch gemacht?
--------------------------------------------------------------->
Ich brauch ne Lösung mit 2 if schleifen je nach Drehrichtung und einem else wenn die pos erreicht ist...
<---------------------------------------------------------------
Weis jemand Rat?

Grüße,
MaDDeePee
MaDDeePee ist offline   Mit Zitat antworten
Alt 04-08-2003, 20:52   #2 (permalink)
Steffen G.
 
Benutzerbild von Tschdaeff
 
Registriert seit: Aug 2001
Ort: Ba-Wü
Beiträge: 4.123
wie hast du denn gerechnet?

du musst beachten das winkel in flash nicht im gradmaß sondern im bogenmaß sind

cu mfg
Tschdaeff
__________________
mod@
www.flashbattle.de
www.steffen-guse.de
------------------------------------

Tschdaeff ist offline   Mit Zitat antworten
Alt 04-08-2003, 20:56   #3 (permalink)
Use your brain!
 
Benutzerbild von MaDDeePee
 
Registriert seit: Aug 2003
Beiträge: 207
Jupp, hab ich schon umgerechnet:
$TurnTo = Math.round((Math.atan2($MoveTo[0]-_root[$selected_mclip[0]]._x, _root[$selected_mclip[0]]._y-$MoveTo[1])*360)/Math.PI/2);


Und nun?
MaDDeePee ist offline   Mit Zitat antworten
Alt 04-08-2003, 21:01   #4 (permalink)
Steffen G.
 
Benutzerbild von Tschdaeff
 
Registriert seit: Aug 2001
Ort: Ba-Wü
Beiträge: 4.123
kannst du mal ne fla dazu zeigen würd mir das gerne mal anschauen

übrigens zum umrechnen würd ich das nehmen

ActionScript:
  1. grad*Math.PI/180
  2.  
  3. bzw.
  4.  
  5. grad*180/Math.PI


cu mfg
Tschdaeff
__________________
mod@
www.flashbattle.de
www.steffen-guse.de
------------------------------------

Tschdaeff ist offline   Mit Zitat antworten
Alt 04-08-2003, 21:22   #5 (permalink)
Use your brain!
 
Benutzerbild von MaDDeePee
 
Registriert seit: Aug 2003
Beiträge: 207
Stimmt!
$TurnTo = Math.round((Math.atan2($MoveTo[0]-_root[$selected_mclip[0]]._x, _root[$selected_mclip[0]]._y-$MoveTo[1])*180)/Math.PI);

...ist besser....bin noch ein FlashAS anfänger, habt bitte Verständniss... ;o/
Würde dir das fla gerne Zeigen, aber es ist noch nix online:

Es geht darum:

ich hab ein symbol. das ich über eine "facettenartige" Matrix bewegen kann; um das SECHECKIGE Feld, auf dem Das Symbol ist, sind weiter 6 Matrixfelder usw. bei 30°,90°,150°,210°,270°,330° ....

Nun möchte ich das Symbol auf eines der Felder "fahren lassen", das klappt auch schon; nur soll es sich vorher in die Richtung des Feldes dehen; Und das klappt auch schon ZUM TEIL; Nun die komplette Programmanforderung:

Symbol auf _rotation = z.B. 90;

soll nun in Richtung dem Feld bei 210 Grad drehen;
Nun soll berechnet werden, ob nach links drehen oder nach rechts drehen kürzer ist; Alles null Problemo, nur dummerweise ist 210° in Flash intern _rotation= -150 !

Ich brauch also eine abfrage, die mir EGAL VON WELCHER °-POSITION aus die Entfernung in ° zu einer anderen in BEIDEN Richtungen sagen kann....

Ne Lösung?
MaDDeePee ist offline   Mit Zitat antworten
Alt 04-08-2003, 21:49   #6 (permalink)
Use your brain!
 
Benutzerbild von MaDDeePee
 
Registriert seit: Aug 2003
Beiträge: 207
Ahhh, nun klappts:

trace("Bewegung auf Flash-Grad: "+$TurnTo);
trace("linksrum= "+ (Math.abs(_root[$selected_mclip[0]]._rotation)+Math.abs($TurnTo)));
trace("rechtsrum= "+ ((((180-Math.abs(_root[$selected_mclip[0]]._rotation))+ 180) - Math.abs($TurnTo))));


Danke Leute!

-=[MaDDeePee]=-

Geändert von MaDDeePee (04-08-2003 um 21:51 Uhr)
MaDDeePee 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:58 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele