Umschauen mit maus aber richtig

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Systek

Betreff: Umschauen mit maus aber richtig

BeitragFr, Apr 17, 2009 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute, also habe ein kleines Problem und war habe ich ich geschaft das ich mich mit der Maus umschauen kann aber wenn ich nach vorne gehe, und dabei nach oben schaue bewege ich mich zu decke ... hier der code

Code: [AUSKLAPPEN]

Graphics3D 1024,768

Collisions 1,2,2,2

player=CreatePivot()
PositionEntity player,0,1,-1
EntityRadius player,.6
EntityType player,1

camera=CreateCamera( player )
CameraRange camera,.1,200

light=CreateLight()
LightColor light,32,32,32
TurnEntity light,45,45,0

light=CreateLight()
LightColor light,32,32,32
TurnEntity light,45,-45,0

mesh=LoadMesh( "test.b3d" )
;ScaleEntity mesh,1,2,1
EntityFX mesh,1
EntityType mesh,2

sp#=.05
ey#=EntityY(player)

sky=LoadSkyBox( "sky" )
EntityParent sky,camera

While Not KeyHit(1)

   If KeyHit(17)
      wire=1-wire
      WireFrame wire
   EndIf

   yv#=EntityY(player)-ey
   ey=EntityY(player)
   
   If KeyHit(57) yv=.1

   MoveEntity player,0,yv-.005,0
   
   If KeyDown(30) TurnEntity camera,-2,0,0
   If KeyDown(44) TurnEntity camera,+2,0,0
   
   If KeyDown(203) TurnEntity player,0,2,0
   If KeyDown(205) TurnEntity player,0,-2,0
   
   If KeyDown(200) MoveEntity player,0,0,sp
   If KeyDown(208) MoveEntity player,0,0,-sp
   
   
mxs#=mxs#+(MouseXSpeed()/5.0)
mys#=mys#-(MouseYSpeed()/5.0)

RotateEntity Player,mys#,-mxs#,0

MoveMouse GraphicsWidth()/2,GraphicsHeight ()/2
   
   
   RotateEntity sky,0,0,0,True
   
   UpdateWorld
   RenderWorld
   Text 0,0,TrisRendered()
   Flip
Wend

End

;skybox code stolen from castle demo!
Function LoadSkyBox( file$ )
   m=CreateMesh()
   ;front face
   b=LoadBrush( file$+"_FR.jpg",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
   AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;right face
   b=LoadBrush( file$+"_LF.jpg",49 )
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
   AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;back face
   b=LoadBrush( file$+"_BK.jpg",49 )
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
   AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;left face
   b=LoadBrush( file$+"_RT.jpg",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
   AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;top face
   b=LoadBrush( file$+"_UP.jpg",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
   AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;bottom face   
   b=LoadBrush( file$+"_DN.jpg",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,-1,-1,1,0:AddVertex s,+1,-1,-1,1,1
   AddVertex s,+1,-1,+1,0,1:AddVertex s,-1,-1,+1,0,0
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   
   FreeBrush b
   ScaleMesh m,100,100,100
   FlipMesh m
   EntityFX m,1
   EntityOrder m,1
   Return m
End Function


Kann einer helfen ^^" test.b3d ist meine Map nur zur info ^^

Nicdel

BeitragFr, Apr 17, 2009 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Vor der Bewegung speicherst du den X-Drehwinkel der Kamera (also der nach obenund unten) in einer Variable, dreh die Kamera bei X auf 0 zurück mach dann die Bewegung und drehe die Kamera wieder auf den Wert der Variable.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Systek

BeitragFr, Apr 17, 2009 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
öh? ^^ kannste bitte denn code denn du meinst makieren und abändern wäre echt nett von dir Very Happy
 

da_poller

BeitragFr, Apr 17, 2009 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
wie wärs wenn du selber suchst und abänderst? ist ja DEIN code..
 

Systek

BeitragFr, Apr 17, 2009 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
oO hallo? was habe ich dir getan?! bin seit heute dabei?! also mit BB3D ...

Nicdel

BeitragFr, Apr 17, 2009 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Bin so nett:

Code: [AUSKLAPPEN]
   
xwinkel = EntityPitch(player)
RotateEntity Player,0,EntityYaw(player),EntityRoll(player)
If KeyDown(200) MoveEntity player,0,0,sp
If KeyDown(208) MoveEntity player,0,0,-sp
RotateEntity player,xwinkel,EntityYaw(player),EntityRoll(player)
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

BladeRunner

Moderator

BeitragFr, Apr 17, 2009 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Systek, du hast niemandem was getan, aber pollers Einwand ist dennoch berechtigt: es ist dein Code, du willst das er läuft und der Weg wie das zu bewerkstelligen ist wurde Dir genannt. Lernen wirst Du nur wenn du es selber tust und kapierst warum du es so machen musst - nicht wenn andere dir den Code schreiben.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Systek

BeitragFr, Apr 17, 2009 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wunderbar vielen dank =D

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group