Drehsperre

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

TheProgrammer

Betreff: Drehsperre

BeitragFr, Apr 09, 2004 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.

In den Egoshootern, die ich programmiere,
gibt es immer ein Problem:
Man kann die Camera um 360° nach vorn und hinten
drehen.
(über Kopf)
Wie kann man das verhindern?
aktuelles Projekt: The last day of human being
 

Blitzkrieg Bop

BeitragFr, Apr 09, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würde eine art speere aufbauen!
also sag deinem programm einfach, das wenn er bei dem und dem winkel ist, soll der winkel da bleiben und nicht mehr weitergehen.
beispiel:
Code: [AUSKLAPPEN]

if winkel > 90
winkel = 90
endif

~ Hey Ho Let's Go ~
 

David

BeitragFr, Apr 09, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Sowas wär ne Möglichkeit:

Code: [AUSKLAPPEN]

RotateEntity camera, EntityPitch( camera ) + MouseYSpeed(), EntityYaw( camera ) - MouseXSpeed(), 0


grüße

TheProgrammer

BeitragFr, Apr 09, 2004 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
@david:
Damit kann sich die Kamera aber immernoch "über Kopf" drehen.
aktuelles Projekt: The last day of human being
 

David

BeitragFr, Apr 09, 2004 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Tatsächlich, dann musst du die Winkel abprüfen wie im Post über dem meinigen vorgeschlagen wurde.

grüße

TheProgrammer

BeitragFr, Apr 09, 2004 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke! Very Happy

ich habs jetzt so gelöst:

Code: [AUSKLAPPEN]

Graphics3D 640,480,32,1
SetBuffer BackBuffer()
AppTitle "Drehsperre"

camera = CreateCamera()
light = CreateLight()

For I = 0 To 100
 sphere = CreateSphere(6)
 EntityColor sphere,Rnd(0,255),Rnd(0,255),Rnd(0,255)
 PositionEntity sphere,Rnd(-25,25),Rnd(-25,25),Rnd(-25,25)
Next

While Not KeyHit(1)
 UpdateWorld
 RenderWorld

 If MouseX() < 2 Then MoveMouse GraphicsWidth()-5,MouseY()
 If MouseX() > GraphicsWidth()-2 Then MoveMouse 5,MouseY()
 If MouseY() < 2 Then MoveMouse MouseX(),GraphicsHeight()-5
 If MouseY() > GraphicsHeight()-2 Then MoveMouse MouseX(),5
 
 winkel = winkel + MouseYSpeed()
 If winkel < -40 Then winkel = -40
 If winkel > 40 Then winkel = 40

 Text 0,0,"Winkel: "+winkel

 TurnEntity camera,-EntityPitch(camera),0,0
 TurnEntity camera,winkel,-MouseXSpeed(),0

 Flip
Wend
End
aktuelles Projekt: The last day of human being

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group