Bataion - Formation (mathe -.-)
Übersicht

Xawer23Betreff: Bataion - Formation (mathe -.-) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich werkle derzeit an einem RTS-Spiel (im stil von starcraft oder AoE). Wenn man nun mehrere Einheiten ausgewählt hat und ihnen einen Bewegungsbefehl gibt, sollen sich natürlich nicht alle exakt auf die selbe stelle zubewegen, sondern in einer Art 'formation' anordnen.
Um überhaupt erstmal das skript dafür zu erstellen ahbe ich diesen Teil 'outgesourced': Code: [AUSKLAPPEN] Graphics 1000,1000,32,2 SetBuffer BackBuffer() timer = CreateTimer(60) amount = 5 Repeat Cls WaitTimer timer Color 0,255,0 Line 500,500,MouseX(),MouseY() Text 500,20,MouseX()-500 + " - " + amount,1,1 If (MouseX() - 500) < -100 Or (MouseX() - 500) > 100 Then distx = MouseX() - 500 disty = MouseY() - 500 laenge# = Sqr((distx*distx)+(disty*disty)) vx# = distx / laenge vy# = disty / laenge For u = 0 To amount Oval (MouseX()-15)-u*vx*32,(MouseY()-15)-u*vy*32,30,30,0 Next End If Flip Until KeyHit(1) End Wie man sieht, stellen sich die einheiten (im beispiel die grünen kreise) genau hintereinander auf. Ich will, dass sie aber nebeneinander stehen - also quasi entlang einer orthogonalen zu der grünen linie. Ich habe da schon mein gesamtes 12.klasse-wissen mit reingebracht, aber weder vertauschen von x und y faktor (vx/vy im code) noch der bei der orthogonalen übliche Ansatz 1/vx führen zum gewünschten Ergebnis. Weiß jemand Rat? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vertausche X/Y und multipliziere eins mit -1 und du erhältst den Orthogonalen Vektor:
Code: [AUSKLAPPEN] vx# = disty / laenge
vy# = -distx / laenge |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Xawer23 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
funktioniert ausgezeichnet!
danke vielmals, ich wäre nicht darauf gekommen, die steigung VOR dem normalisieren zu ändern. obwohls ja ganz logisch ist |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group