Spieler hebt ab

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

blitzking

Betreff: Spieler hebt ab

BeitragFr, Apr 02, 2010 12:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
wie mache ich es dass in einem spiel der Spieler(also die kamera) nicht abhebt wenn ich mit der maus nach oben sehe und vorwärts gehe?
hir mal der code
Code: [AUSKLAPPEN]
AppTitle "Map"

Graphics3D 1280,1024
SetBuffer BackBuffer()

cam=CreateCamera()
PositionEntity cam,0,1.5,0
EntityType cam,1
CameraFogRange cam,7,700
CameraFogMode cam,1

light=CreateLight()
RotateEntity light,90,0,0

kl=2

castle = LoadMesh("castle\CASTLE1.X")
PositionEntity castle,5,-30,5
EntityType castle,kl

While Not KeyDown(1)

Collisions 1,2,2,2

If KeyDown(17)=True Then MoveEntity cam,0,0,2
If KeyDown(31)=True Then MoveEntity cam,0,0,-2
If KeyDown(30)=True Then MoveEntity cam,-2,0,0
If KeyDown(32)=True Then MoveEntity cam,2,0,0



   x=MouseYSpeed()
   y=MouseXSpeed() *-1
   TurnEntity cam,x/8,y/8,0
   RotateEntity cam,EntityPitch(cam),EntityYaw(cam),0
   
   MoveMouse GraphicsWidth()/2, GraphicsHeight()/2
   HidePointer

UpdateWorld
RenderWorld
pointer=LoadImage("Fadenkreuz2.jpg")
DrawImage pointer,640,512

Flip
Wend
End


übrigens solll das ganze n egoshooter werden

ToeB

BeitragFr, Apr 02, 2010 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal, warum "turnst" du die camera erst und drhst die danach nach den eigenem winkel ? Und für das abheben, du kannst endweder eine Gravitation einbauen , und zwar entweder eine konstante, also immer um einen bsteimmten wert mit TranslateEntity nach unten bewegen oder eine Beschleunigungs gravitation, dann musst du nur eine Kollision prüfen (Kollision = 0 -> speedy# = 0 | Kollsion = 1 -> speedy# = speedy# + 0.001) ... und dann halt wieder mit TranslateEntity um speedy nach unten bewegen (TranslateEntity cam,0,-speedy,0)

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

mpmxyz

BeitragFr, Apr 02, 2010 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
1. In der Hauptschleife wird etwas immer wieder geladen. -> schlecht
2. Hänge die Kamera an einen "Pivot". (CreatePivot)
Der Pivot ist für die horizontale Drehung zuständig und die Kamera macht dann die Drehung nach oben oder unten.
Beim Bewegen des Spielers bewegst du den Pivot.
Da dieser nicht nach oben oder unten gedreht wurde, ändert sich die Höhe des Spielers nicht.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group