Mouse-Look

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

EvilSpirit

Betreff: Mouse-Look

BeitragMo, Mai 31, 2004 15:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
wie kann ich einen Mouselook, wie in jedem Ego-Shooter realisieren?
Hab schon viel mit MouseXSpeed probiert, will aber nie so richtig funktionieren.
 

ZaRaK

BeitragMo, Mai 31, 2004 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

TurnEntity cam,0,-MouseXSpeed(),0
TurnEntity cam,+MouseYSpeed(),0,0
 

EvilSpirit

BeitragMo, Mai 31, 2004 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hatte ich auch schonmal probiert. Einzingster Nachteil, dass sich die Kamera nicht flüssig drehen lässt. An der FPS liegts aber nicht.
 

Silbersurfer

BeitragMo, Mai 31, 2004 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo
um eine weiche Maussteurung zu bekommem
versuche das mal

Code: [AUSKLAPPEN]
   MY#=soft#(MouseYSpeed(),MY#,8 )
   MX#=soft#(MouseXSpeed(),MX#,8 )
   TurnEntity camera,MY#,-MX#,0 ; drehung der Camera



Function soft#(mausneu#,mausalt#,verzoegerung# )
   If verzoegerung>1 Then mausalt#=mausalt#-(mausalt#-mausneu#)/verzoegerung
   If verzoegerung<=1 Then mausalt=mausneu ; keine verzögerung
   Return mausalt#
End Function


gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip
 

EvilSpirit

BeitragDi, Jun 01, 2004 16:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht besser, aber es hackt immernoch.
Was kann ich tun.

simi

BeitragDi, Jun 01, 2004 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
am anfang des Codes immer noch MoveMaus(400,300), sonst kommt die maus an den Rand und lässt sich nicht mehr weiterbewegen.
 

Silbersurfer

BeitragDi, Jun 01, 2004 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Simi schrieb
Zitat:
Hi,
am anfang des Codes immer noch MoveMaus(400,300), sonst kommt die maus an den Rand und lässt sich nicht mehr weiterbewegen.


EvilSpirit

Simi hat da recht, ich habe nicht daran gedacht,oder ist das ruckeln bei dir ständig ?
den hierbei hast du nur aussetzer wenn die Maus den rand erreicht hat.
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

simi

BeitragDi, Jun 01, 2004 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich habe es gar nicht ausprobiert Very Happy
Habe einfach kein MoveMouse gesehen, so schrieb ich mal, es könnte ja daran liegen...

YellowRider

Ehemaliger Admin

BeitragMi, Jun 02, 2004 13:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics3D 800,600,16,2
SetBuffer BackBuffer()

Global ms=20
Global cx#
Global cy#


Global player=CreatePivot()
PositionEntity player,6,4,-6
EntityRadius player,1.8
EntityType player,1

cube=CreateCube()
PositionEntity cube,0,0,10

Global cam=CreateCamera()
PositionEntity cam,EntityX(player),EntityY(player)+3,EntityZ(player)

While Not KeyHit(1)
 mouse()
 
 PositionEntity cam,EntityX(player),EntityY(player)+3,EntityZ(player)

 RenderWorld
 Flip

Wend


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
 

EvilSpirit

BeitragDo, Jun 03, 2004 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
thx leute.

es hat immer geruckelt, also lag es nicht daran, das die maus an den rand gekommen ist.
ich hab mal den bsp-code getestet und es funktioniert so, wie ich mir das gewünscht hatte. danke nochmal.

nur aus interesse: ich hab jetzt mehre ähnliche lösungen gefunden. mir ist aufgefallen, das immer 2 entitys benutzt werden (player, cam). ist es unbedinkt wichtig, das man die beiden trennt, auch wenn man immer in der ego-perspektive bleibt?

Jan_

Ehemaliger Admin

BeitragDo, Jun 03, 2004 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, sogar sehr wichtig! um so weiter du im Projekt bist, umso besser, ist es!
between angels and insects
 

EvilSpirit

BeitragDo, Jun 03, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du es ein bischen genauer beschreiben, wofür das gut ist?

Jan_

Ehemaliger Admin

BeitragFr, Jun 04, 2004 7:23
Antworten mit Zitat
Benutzer-Profile anzeigen
damit kannst du machen, das die Camera in Kopfhöhe ist, und nicht mitten im Bauch steckt, weilo die collisions radien ja immer beim mittelpunkt sind!
ausserdem, kannst du nach oben und unten sehen, ohne, das dein player mit moveentity nach oben oder unten läuft/fliegt.
ausserdem, kann man dann besser objekte heranhängen, z.B. Körper an den grundpunkt und HUB an die cam.
... oh, es gibt noch viel zu machen.
between angels and insects
 

GlobalSilence

BeitragMi, Okt 24, 2007 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
ich finde der code von SilverSurfer is 1A, nur ein Problem hab ich und ich kanns nich lösen irgentwie. Wenn ich z.B. die Maus im kreis beweg, fängt die camera leicht an zu Rotieren, wie muss ich das machen, damit sie sich nur auf der X und Y ebene Bewegt und nicht das rotieren anfängt?

NightPhoenix

BeitragDo, Okt 25, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Toll dass du einen Thread von 2004 wieder auspackst... mmmh naja, is nicht mein Bier ^^

Das verhinderst du indem du folgendes machst:

Code: [AUSKLAPPEN]
rotateentity cam,EntityPitch(cam),EntityYaw(cam),0


Das Ganze nach dem turnentity Befehl der die Kamera dreht... Es wird einfach die Z-Achse welche die Kamera immer wieder "schief" dreht zurück auf 0 gesetzt, wodurch du das Ganze umgehen kannst
Ist doch einfach, oder? Wink

MfG. NightPhoenix



P.S. Herzlich Willkommen hier beim Blitzforum Wink

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group