ProjectedZ() spinnt (?)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Michi

Betreff: ProjectedZ() spinnt (?)

BeitragSa, März 05, 2005 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgende Function soll ein "Zielvisier" auf den Bildschirm zeichnen, das anzeigt, wohin man sich drehen muss, um es auf den Bildschirm zu bekommen, vorrausgesetzt, das ausgewählte Objekt befindet sich vor der Kamera. Wenn es sich hinter der Kamera befindet, soll es in Rot einfach die Bildschirmmitte anvisieren. Der zweite Teil funzt auch ganz toll, aber wenn sich das Objekt vor der Kamera befindet, passiert NICHTS, absolut GAR NICHTS!!!.
Was mach ich falsch:

Code: [AUSKLAPPEN]
Function On_Screen_Visier ()

CameraProject c, EntityX#(Himmelsk(WZ2)), EntityY#(Himmelsk(WZ2)), EntityZ#(Himmelsk(WZ2))
tempprojX=ProjectedX()
tempprojY=ProjectedY()

If ProjectedZ()=1 Then
   Color 0, 255, 0
   Rect tempprojX-15, tempprojY-15, 30, 30, 0
   LockBuffer BackBuffer()
   Line 0, 0, tempprojX-15, tempprojY-15
   Line 800, 0, tempprojX+15, tempprojY-15
   Line 0, 600, tempprojX-15, tempprojY+15
   Line 800, 600, tempprojX+15, tempprojY+15
   UnlockBuffer BackBuffer()
EndIf

If ProjectedZ()=0 Then
   Color 255, 0, 0
   Rect 385, 285, 30, 30, 0
   LockBuffer BackBuffer()
   Line 0, 0, 385, 285
   Line 800, 0, 415, 285
   Line 0, 600, 385, 315
   Line 800, 600, 415, 315
   UnlockBuffer BackBuffer()
EndIf

End Function

???

[Edit] Ach ja:
Himmelsk() existiert, WZ2 auch, und ja, c ist die Kamera, und ja, ich bin mir sicher[/Edit]

So, und noch ne Frage:
Das Visier soll auch angezeigt werden, wenn sich das Objekt außerhalb Kamerareichweite befindet. Wenn das der Fall ist, dann liefert Cameraproject aber nur 3 Nullen zurück Confused Wie kann ich das umgehen???
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung
 

Ensign Joe

BeitragSa, März 05, 2005 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm, das sind functions, die du aufrufst, net variablen.
Entweder in der Function "return <<Variable>>" einfügen oder die () wegmachen! Confused
Ich habe jetzt eine Pommesbude aufgemacht am Münchner Hauptbahnhof.
Und da ich Herbert Görgens heiße, heißt diese Pommesbude
Herbert's Pommesbude Smile
 

Michi

BeitragSo, März 06, 2005 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Himmelsk() ist ein Dim mit 62 einträgen, das meine Himmelskörper beinhaltet
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group