Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-01-2004, 10:58   #1 (permalink)
Flash-Bang
 
Registriert seit: Jan 2004
Beiträge: 210
Mathe Mathe Mathe

Also:
ich habe ein objekt(wurm) und einen magneten(magnet). der magnet soll das objekt abstossen

jetzt will ich die abstände der beiden objekte auf x und y achse haben(positiv, quadriert)

-----
xabst = magnet._x - wurm._x;
xabst = xabst*xabst;

yabst = magnet._y - wurm._y;
yabst = yabst*yabst;
-----

so...

jetzt möchte ich ich die "kraft" berechnen:

ich hatte 2 ideen, die sich nach kurzem nachdenken beide als falsch erwiesen haben:
1.
xpower = 1/xabst;
ypower = 1/yabst;

hier werden leider jeweils nur die achsenspezifischen abstände, aber nicht der abstand auf der andren achse gemessen. nun entspricht der magnet eher einem magnetkreuz welches sich über den ganzen film erstreckt.

2.
if (xabst>yabst) {
xpower=xabst/yabst;
} else {
xpower = yabst/xabst;
}
, das gleiche mit der y-achse, nur die brüche umgekehrt

diese version funktionier aber nur in der horizontalen oder vertikalen...


kann mir wer die formel sagen mit der ich aus xabst und yabst richtige werte für die x bzw y powert krich? danke
xpower = xabst


PS: nachdem diese berechnung fertig ist kommt noch ne abfrage die die kraft umkehrt falls die maus sich auf der andren seite befindet(damit das ganze in jede richtung funzt...)

Geändert von sauerkraut (21-01-2004 um 11:01 Uhr)
sauerkraut ist offline   Mit Zitat antworten
Alt 21-01-2004, 12:59   #2 (permalink)
Steffen G.
 
Benutzerbild von Tschdaeff
 
Registriert seit: Aug 2001
Ort: Ba-Wü
Beiträge: 4.123
ActionScript:
  1. Math.sqrt(xabst*xabst+yabst*yabst);


bin nicht ganz durchgestiegen aber vllt hilft es dir ja

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

Tschdaeff ist offline   Mit Zitat antworten
Alt 21-01-2004, 15:21   #3 (permalink)
Flash-Bang
 
Registriert seit: Jan 2004
Beiträge: 210
klingt eigentlich ganz einfallsreich aber jetzt blick ich nich ganz durch was ich damit machen kann
sauerkraut ist offline   Mit Zitat antworten
Alt 22-01-2004, 10:48   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

v = Math.sqrt(xabst*xabst+yabst*yabst); berechnet die Hypothenuse, also gewissermaßen die Länge (Stärke) des Vektors vom gedachten Mittelpunkt zu den Objekt-Koordinaten.

Mit w = Math.atan2(yabst,xabst); berechnest du den Winkel zwischen beiden Punkten. Mit diesem Winkel kannst du mit Math.sin(w) * v; den x- und mit Math.cos(w) * v; den y-Anteil an der Stärke berechnen.

Das bedeutet, je weiter das Objekt sich vom Mittelpunkt entfernt, desto größer wird die Kraft. Beim Magneten musst du es nur umkehren (1/v).

Dann noch hier und da geeignete Faktoren einsetzen; das sollte es eigentlich tun


Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 22-01-2004, 11:09   #5 (permalink)
Flash-Bang
 
Registriert seit: Jan 2004
Beiträge: 210
lol thx du mathe genie
sauerkraut ist offline   Mit Zitat antworten
Alt 22-01-2004, 15:10   #6 (permalink)
Steffen G.
 
Benutzerbild von Tschdaeff
 
Registriert seit: Aug 2001
Ort: Ba-Wü
Beiträge: 4.123
hast du bei meinem script die hypotenuse nicht rausgesehen?

du musst die kraft als vektor sehen

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

Tschdaeff 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 19:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele