Mausbewegung

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Kostowski

Betreff: Mausbewegung

BeitragSo, Feb 01, 2004 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

Ich will mit der Maus (wie in einem Ego-Shooter) mich bewegen, bzw. die Kamera.?. Wie mache ich das? Ich bin relativ neu, suche jetzt eine lange Zeit und bräuchte jetzt wirklich die Hilfe von euch.

MfG Kostowski

Edit: Mit den Befehl "moveentity camera,0,0,cameradir#" kann ich zwar die Camera mit Tasten bewegen, aber nicht mit der Maus. Das erinnert mich nämlich daran, dass ich auch hoch und runter schauen können muss.
 

IonPainter

BeitragSo, Feb 01, 2004 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
MouseXSpeed()
MouseYSpeed()

---

Turnentity Camera, MouseYSpeed(), MouseXSpeed(), 0

---
 

Kostowski

BeitragSo, Feb 01, 2004 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht nicht wirklich! Wenn ich meine Maus bewege ändert sich die Blickrichtung nur ruckhaft. Ich habe es genauso übernommen, wie du es geschrieben hast. Woran liegt das?
 

IonPainter

BeitragSo, Feb 01, 2004 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
mach

1) vor dem flip ein: movemouse Graphicswidth() / 2, Graphicsheight() / 2
2) direkt nach dem setbuffer backbuffer() ein: enabledirectinput 1[/code]
 

Kostowski

BeitragSo, Feb 01, 2004 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Der erste Text funktioniert, aber der 2. nicht.

"enabledirectinput 1[/code]" Ich habe auch schon [/Code] weggenommen, geht auch nicht.
 

IonPainter

BeitragSo, Feb 01, 2004 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics3D 800,600,32,1

;*** Erstellt eine Textur

Tex = CreateTexture(64,64)

SetBuffer TextureBuffer(Tex)

Color 228,228,0
Rect 0,0,64,64,1
Color 228,0,0
Rect 10,10,44,44,1

;************************


SetBuffer BackBuffer()
EnableDirectInput 1

Kamera=CreateCamera()
Licht=CreateLight(1,Kamera)

Level=CreateCube()
ScaleEntity Level, 16,16,16
FlipMesh Level
EntityTexture Level, Tex
ScaleTexture Tex, .25,.25


While Not KeyHit(1)

   my# = MouseYSpeed()

   If KeyDown(200) Then
      MoveEntity Kamera, 0, 0, .1
   EndIf
   
   If KeyDown(208) Then
      MoveEntity Kamera, 0, 0, -.1
   EndIf
   
   If KeyDown(205) Then
      MoveEntity Kamera, .1, 0, 0
   EndIf
   
   If KeyDown(203) Then
      MoveEntity Kamera, -.1, 0, 0
   EndIf
   
   
   If EntityPitch(Kamera) - my > -89 Then
   
      RotateEntity Kamera, EntityPitch(Kamera) + my, EntityYaw(Kamera), 0

   Else
      
      RotateEntity Kamera, -89, EntityYaw(Kamera), 0

   EndIf
   
   
   
   If EntityPitch(Kamera) + my < 89 Then
   
      RotateEntity Kamera, EntityPitch(Kamera) + my, EntityYaw(Kamera), 0

   Else
      
      RotateEntity Kamera, 89, EntityYaw(Kamera), 0

   EndIf
   
   
   RotateEntity Kamera, EntityPitch(Kamera), EntityYaw(Kamera) + MouseXSpeed()*-1, 0

   
   UpdateWorld()
   RenderWorld()
   
   Text 0,0,EntityPitch(Kamera) + my
   
   MoveMouse GraphicsWidth() / 2, GraphicsHeight() / 2
   Flip()
   
Wend


kompletter code...
 

Kostowski

BeitragSo, Feb 01, 2004 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe den kompletten Code kopiert, geht nicht("Function not found"). Ich habe es wirklich so gemacht, wie du es schreibst!
 

IonPainter

BeitragSo, Feb 01, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
lade dir das neueste blitz3d update runter. wenn du nur die demo hast, oder du keine updates runterladen willst/kannst, mach mal enabledirectinput weg...

Markus2

BeitragSo, Feb 01, 2004 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch was für dich ...

Global camp=CreatePivot()
Global cam=CreateCamera(camp)

camp bewegst du nur x,y,z und drehst nur um Yaw also Y Achse
cam nur Pitch ändern also X Achse

Also laufen und drehen mit camp .
Hoch Runter gucken mit cam .
 

Kostowski

BeitragMo, Feb 02, 2004 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Hilfe!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group