Maus bewegen in Ego Shooter

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Basecamp

Betreff: Maus bewegen in Ego Shooter

BeitragSo, Aug 19, 2007 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute

Kann mir jemand sagen (Sufu benutzt) wie man die Maus bewegen kann in einem Ego Shooter? d.h. Wie z.B. in CS mit der Maus... Hier mein bisheriger Code:

Code: [AUSKLAPPEN]
GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CreateCamera()
PositionEntity camera,2,1,2
bgmusik = LoadSound("resource/sound.mp3")
kanal = PlaySound(bgmusik)
LoopSound bgmusik
light=CREATELIGHT()
ROTATEENTITY light,90,0,0
terrain=CreateTerrain(32)
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,24,1,8
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,7,1,5
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,3,1,5
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,19,1,19
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,27,1,29
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,29,1,25
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,26,1,2
grass_tex=LOADTEXTURE("must.bmp")
ENTITYTEXTURE terrain,grass_tex
ModifyTerrain terrain,14,8,1
ModifyTerrain terrain,9,8,1
ModifyTerrain terrain,5,8,1
ModifyTerrain terrain,29,28,1
ModifyTerrain terrain,8,9,1
ModifyTerrain terrain,8,5,1
ModifyTerrain terrain,8,1,1
ModifyTerrain terrain,24,29,1
ModifyTerrain terrain,6,3,1
ModifyTerrain terrain,27,27,1
ModifyTerrain terrain,25,23,1
ModifyTerrain terrain,21,26,1
ModifyTerrain terrain,28,23,1
ModifyTerrain terrain,19,27,1
ModifyTerrain terrain,30,27,1
ModifyTerrain terrain,20,20,1
ModifyTerrain terrain,3,25,1
ModifyTerrain terrain,2,29,1
ModifyTerrain terrain,3,22,1
ModifyTerrain terrain,2,19,1
ModifyTerrain terrain,28,2,1
ModifyTerrain terrain,26,4,1
ScaleEntity terrain,1,5,1

While Not KeyHit(1)
   If KeyDown(32)=1 Then TurnEntity camera,0,-1,0
   If KeyDown(30)=1 Then TurnEntity camera,0,1,0
   If KeyDown(31)=1 Then MoveEntity camera,0,0,-0.05
   If KeyDown(17)=1 Then MoveEntity camera,0,0,0.05
   RenderWorld
   Flip
Wend
End
-------------------------
www.basecamp-online.net
-------------------------

Puccini

BeitragSo, Aug 19, 2007 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
schau mal in der Onlinehilfe zu BB nach

Code: [AUSKLAPPEN]
TurnEntity
MouseYSpeed()
MouseXSpeed()


Dh, du must die Camera drehen (turn) und den Mousespeed abfragen! Damit kannst ud dann deine Cameraführung aufbauen!

Ich hab gelesen das du neu in der Programmirung in 3d bist (wahrscheinlich auhc in BlitzBasic), daher empfehle ich dir ein paar tutorials durchzuarbeiten!

www.robsite.com ist sehr hilfreich für einsteiger!

MfG Puccini
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

ChristianK

BeitragSo, Aug 19, 2007 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
TurnEntity ist dafür weniger geeignet. Benutze RotateEntity, nachdem du wie gesagt mit MouseXSpeed und MouseYSpeed den Drehwinkel berechnet hast.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

the FR3AK

BeitragSo, Aug 19, 2007 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst zur Hilfe auch die Forumsuche benutzen Wink

Such mal nach "Mouselook" da wirst du bestimmt auch was hilfreiches finden

Puccini

BeitragSo, Aug 19, 2007 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
soory, RotateEntity steht bei mir auch mit da, hab ich aber leider nich mit reingeschrieben!

hier mal mein Code wie ich das mache:
Code: [AUSKLAPPEN]
   ;Maus
      TurnEntity player,0,-MouseXSpeed()/4,0                  ;rechts/linksdrehung
      blickwinkel=blickwinkel+MouseYSpeed()
      If blickwinkel>80 Then blickwinkel=80
      If blickwinkel<-90 Then blickwinkel=-90
      RotateEntity camera,blickwinkel,0,0                     ;blick auf/ab
      MoveMouse mousecenterx,mousecentery

Mit Blickwinkelbegrenzung!
Viel Spass beim Testen und Experiementieren!
(an Martin: die Soll eine Gedankenstütze sein)
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Basecamp

Betreff: Hilfe bei Code

BeitragMo, Aug 20, 2007 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute

Ich hab jetzt den Code verbessert und was eingefügt aber läuft nicht??!! Wieso nicht? Kanns jemand verbessern? ThX!

Code: [AUSKLAPPEN]
GRAPHICS3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
PositionEntity camera,2,1,2
bgmusik = LoadSound("resource/sound.mp3")
kanal = PlaySound(bgmusik)
LoopSound bgmusik
Function mouse()
   
   mxs=MouseXSpeed()*ms ;(20)
   mys=MouseYSpeed()*ms ;(20)
   
   cx#=EntityPitch(cam)+mys*0.01
   cy#=EntityYaw(cam)-mxs*0.01
   
   If cx#>89 Then cx#=89
   If cx#<-89 Then cx#=-89
   
   RotateEntity cam,cx,cy,0
   RotateEntity player,EntityPitch(player),cy,0
   MoveMouse 400,300
End Function
light=CreateLight()
ROTATEENTITY light,90,0,0
terrain=CreateTerrain(32)
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,24,1,8
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,7,1,5
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,3,1,5
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,19,1,19
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,27,1,29
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,29,1,25
cyl1=CreateCylinder(20,0)
RotateEntity cyl1,0,0,0
PositionEntity cyl1,26,1,2
grass_tex=LOADTEXTURE("must.bmp")
ENTITYTEXTURE terrain,grass_tex
ModifyTerrain terrain,14,8,1
ModifyTerrain terrain,9,8,1
ModifyTerrain terrain,5,8,1
ModifyTerrain terrain,29,28,1
ModifyTerrain terrain,8,9,1
ModifyTerrain terrain,8,5,1
ModifyTerrain terrain,8,1,1
ModifyTerrain terrain,24,29,1
ModifyTerrain terrain,6,3,1
ModifyTerrain terrain,27,27,1
ModifyTerrain terrain,25,23,1
ModifyTerrain terrain,21,26,1
ModifyTerrain terrain,28,23,1
ModifyTerrain terrain,19,27,1
ModifyTerrain terrain,30,27,1
ModifyTerrain terrain,20,20,1
ModifyTerrain terrain,3,25,1
ModifyTerrain terrain,2,29,1
ModifyTerrain terrain,3,22,1
ModifyTerrain terrain,2,19,1
ModifyTerrain terrain,28,2,1
ModifyTerrain terrain,26,4,1
ScaleEntity terrain,1,5,1

While Not KeyHit(1)
   If KeyDown(32)=1 Then TurnEntity camera,0,-1,0
   If KeyDown(30)=1 Then TurnEntity camera,0,1,0
   If KeyDown(31)=1 Then MoveEntity camera,0,0,-0.05
   If KeyDown(17)=1 Then MoveEntity camera,0,0,0.05
   RenderWorld
   Flip
Wend
End
-------------------------
www.basecamp-online.net
-------------------------
 

DerSatan

Gast

BeitragMo, Aug 20, 2007 14:52
Antworten mit Zitat
So wie ich das sehe hast du in deiner hauptschleife ganz einfach nur vergessen deine mouse-funktion reinzuschreiben...

Nur so als Tipp: Bei If kannst du soweit ich weiss das "=1" weglassen, aber das nur so btw
 

Basecamp

Betreff: ThX

BeitragMo, Aug 20, 2007 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ThX und wie kann ich das fixen?
-------------------------
www.basecamp-online.net
-------------------------
 

Dreamora

BeitragMo, Aug 20, 2007 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Indem du sie in der Hauptschleife aufrufst.

moved: falsches forum
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Basecamp

BeitragMo, Aug 20, 2007 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich brobiert läuft aba ned Crying or Very sad (SRY FÜR DIE EWIGE FRAGEREI!!!)
-------------------------
www.basecamp-online.net
-------------------------
 

ChristianK

BeitragMo, Aug 20, 2007 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wäre es, wenn du selbst mal ein bisschen nachdenkst? Rolling Eyes

Sich einfach etwas Code zu suchen und ihn ohne Änderung zu übernehmen reicht eben nicht. Schau dir die Funktion "mouse" doch mal an. Da benutzt du die Variablen "cam" und "player". Und wo hast du sie definiert? Nirgendwo! Also kann es nicht gehen. Schau dort nach, wo du das Beispiel her hast, damit du herausfinden kannst, wie die Variablen dort verwendet werden.

Btw mit "läuft aba net" kann hier niemand was anfangen.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
  • Zuletzt bearbeitet von ChristianK am Mo, Aug 20, 2007 15:57, insgesamt einmal bearbeitet
 

Matthias_Blitzer

BeitragMo, Aug 20, 2007 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Doofe Frage nebenbei, warum ist RotateEntity besser dafür geeignet als TurnEntity?
Arbeitet das schneller, oder gibts n anderen Grund?
Bitte nicht ins Pissoir aschen,
ich pinkle ja auch nicht in ihren Aschenbecher.
 

ChristianK

BeitragMo, Aug 20, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Matthias_Blitzer hat Folgendes geschrieben:
warum ist RotateEntity besser dafür geeignet als TurnEntity?

TurnEntity dreht um die "lokale Achse". Wenn du die Kamera also z.B. 45° nach oben schauen lässt, wird beim nächsten TurnEntity das Objekt so behandelt, als wäre es "gerade". Für eine Kamera sehr unpraktisch. Mit RotateEntity kann man den Pitch- und Yaw-Winkel gleich genau festlegen.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group