Rotation & Winkel Problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Röschti

Betreff: Rotation & Winkel Problem

BeitragMi, Jan 27, 2010 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Freunde, ich brauche mal wieder eure Hilfe...

Folgende Situation
-----------------------

Ich habe eine Boardkanone und ein bewegendes Ziel. Die Bordkanone hat eine beschränkte Auslenkung dh sie kann also nur ein paar Grad nach oben-unten-links-rechts geschwenkt werden. Ist der Winkel grösser als die jeweils maximale Auslenkung, kann nicht geschossen werden.

Zum Beispiel die Auslekungsüberprüfung oben-unten

Code: [AUSKLAPPEN]


If (DeltaPitch(Cam,sF.Ship\Ent) <= MaxAuslenPN And DeltaPitch(Cam,sF.Ship\Ent) => MaxAuslenPP) then
    ;ballern möglich
end if


Wobei sF.Ship\Ent das Ziel ist und MaxAuslenPN = -6 und MaxAuslenPP -15

Das funktioniert soweit genau so wie es sollte. Rolle ich aber nun via TurnEntity zB TurnEntity Cam,0,0,180
auf den Rücken, dann stimmen die Winkel nicht mehr. Wie soll ich das erklären? Ähm...die Winkel "drehen" nicht mit. Oder anders ausgedrückt, auf dem Rücken bekomme ich völlig andere Werte bei DeltaPitch, wie mir scheint die gegenteiligen Werte. Also richtig rum zB ist DeltaPitch -9 Grad und auf dem Rücken 9.

Wie löst man dieses Problem richtig? Aus negativen Zahlen einfach positive machen und umgekehrt?

NightPhoenix

BeitragMi, Jan 27, 2010 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würd vorschlagen:

Code: [AUSKLAPPEN]
If abs(DeltaPitch(Cam,sF.Ship\Ent) <= MaxAuslenPN then
    ;ballern möglich
end if


zu benutzen. Durch das Abs bleiben die Zahlen immer Positiv.
 

Röschti

BeitragMi, Jan 27, 2010 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm...ist wohl doch nicht so einfach. Wenn ich mit ABS gerade Zahlen mache, dann habe ich 2 Schuss- Bereiche, da ja die Zahlen in beiden Richtungen ansteigen also zB von 10 runter auf 0 und dann wieder rauf auf 10.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group