Ruckelige Maussteuerung (MouseXSpeed/MouseYSpeed)

Übersicht BlitzBasic Blitz3D

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

x-pressive

Betreff: Ruckelige Maussteuerung (MouseXSpeed/MouseYSpeed)

BeitragDi, Feb 10, 2004 12:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe ein kleines Problem. Ich habe eine Art 'Kannone', die der Spieler sowohl mit der Maus, als auch mit den Pfeiltasten drehen kann. Auf dieser Kannone habe ich als Child eine Kamera montiert, die die Drehbewegung mitmacht. Nun ist es aber leider so, das die Bewegung höllisch ruckelt, wenn man mit der Maus steuert. Wenn man die Pfeiltasten benutzt, läuft das hingegen butterweich.

Maussteuerung (ruckelt, vor alllem seltsamerweise im Vollbild):
Code: [AUSKLAPPEN]
   mouseXS = MouseXSpeed()
   mouseYS = MouseYSpeed()
   Local pitch# = EntityPitch(GunBody) + (mouseYS*.2)
   Local yaw#   = EntityYaw(GunBase)   - (mouseXS*.2)
   RotateEntity GunBody,pitch,0,0
   RotateEntity GunBase,0,yaw,0
   MoveMouse screenW/2,screenH/2
   
   If pitch < -5 RotateEntity GunBody,-5,0,0
   If pitch > 70 RotateEntity GunBody,70,0,0


Tastensteuerung (funzt tadellos):

Code: [AUSKLAPPEN]
   ;UP / DOWN
   if keydown(200) TurnEntity GunBody,-gunSpeed,0,0
   if keydown(208) TurnEntity GunBody,gunSpeed,0,0
   
   ;LEFT / RIGHT
   if keydown(203) TurnEntity GunBase,0,gunSpeed,0
   if keydown(205) TurnEntity GunBase,0,-gunSpeed,0


Woran könnte das liegen? Sind die ermittelten Werte durch MouseXSpeed und MouseYSpeed zu unregelmässig? Im Vollbild ist so kaum eine Steuerung möglich. Ich muß die Maus fast gegen die Wand schmeissen, damit sich die Kanone bewegt Confused Kennt ihr dieses Problem?
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Markus2

BeitragDi, Feb 10, 2004 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Haste die Variable als Float definiert ? mouseXS#

x-pressive

BeitragDi, Feb 10, 2004 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, habe ich. Was mich am meisten wundert: sobald ich das Prog im Vollbild laufen lasse, funktioniert das mit der Maus fast üerhaupt nicht mehr! Das stottert total rum. Die Tastenbewegung ist aber nach wie vor einwandfrei. Seltsam, nicht?
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

OJay

BeitragDi, Feb 10, 2004 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
[idee]: vielleicht liegts daran, das du die maus sofort wieder in der mitte des bildschirms festnagelst? mach doch mal eine bedingung rein, das sie erst wieder in die mitte befördert wird, wenn sie zu nahe an den rand kommt.
btw: wozu eigentlich movemouse? wenn mich nicht alles täuscht, kann die maus im fullscreen doch sowieso nicht aus dem fenster, oder? Wink

x-pressive

BeitragDi, Feb 10, 2004 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, aber ich teste immer im Window, weil mich die Warterei beim Umschalten ins Vollbild wahnsinnig macht. Ausserdem möchte ich auch, daß der User, wenn er es möchte, im Window spielen kann (dann kann man auch nebenbei noch die Fernsehkarte laufen lassen) Smile

Aber ich werde den Tipp gleich mal ausprobieren.

Nachtrag: @OJay, du hattest Recht -und wieder nicht. Wenn ich das MouseMove weglasse, ist das Ruckel-Problem gelöst -aber auch im Vollbild stoppt die Maus am Bildschirmrand und nix geht mehr. Muß die Maus also erst wieder zurücksetzen, wenn sie am Rand ist, dann haut das hin.

Danke für den Tipp!
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

OJay

BeitragDi, Feb 10, 2004 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
hab mir grad das demo hier: http://www.blitzbasic.com/news...kademo.zip angeschaut. 1.: tokamak rulez Very Happy 2.: die maussteuerung ist total flüssig. der code liegt bei, kannst dirs also da abschauen Wink

Boris0190

BeitragDi, Feb 10, 2004 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hatte das gleiche problem, habe dann mit renderworld, dem drehen, der Mausabfrage und flip ein bisschen rumgespielt, dann wars weg, aber was genau war weiß ich nicht, ich programmier immer auf gut Glück Smile
If windows is the sollution, I want my problems back! -
The only way to have a friend is to be one

x-pressive

BeitragDi, Feb 10, 2004 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe -OJay's Tipp war schon richtig, es lag daran, das ich bei jedem Frame die Maus in die Bildmitte zurückgesetzt habe. Ich habe jetzt eine Zählervariable eingebaut, die dafür sorgt, daß das nur jeden fünften Durchlauf (bei 60 Frames/Sekunde) passiert, und das klappt recht gut. Hin und wieder ein kleiner Ruckler, aber kaum bemerkbar.

Was wirklich sinnvoll wäre: eine Mouse Smoothing-Funktion, wie sie bei jedem besseren Ego-Shooter zuschaltbar ist, müsste ich aber erst mal grübeln, wie man das am besten realisiert... Confused
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

OJay

BeitragDi, Feb 10, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
mensch, schau dir das beispiel oben an!

x-pressive

BeitragDi, Feb 10, 2004 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab' ich -ist leider keine Verbesserung. Vom Prinzip her müsste das zwar schon die Mausbewegung glätten, aber es ruckelt seltsamerweise auch. Vor allem im Vollbild geht wieder gar nichts. Ich weiss nicht, wieso die Mausabfrage im Vollbild so rumzickt. Ist das ein Blitz-Bug?
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

IonPainter

BeitragDi, Feb 10, 2004 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ein

Code: [AUSKLAPPEN]

enabledirectinput 1


nach setbuffer backbuffer() wirkt wunder...

x-pressive

BeitragDi, Feb 10, 2004 23:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm... die Online-Hilfe sagt:

Zitat:
ENABLEDIRECTINPUT ist ein undokumentierter Befehl. Funktioniert nur in Blitz2D und Blitz3D. Benutzung nicht empfohlen!
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

IonPainter

BeitragDi, Feb 10, 2004 23:46
Antworten mit Zitat
Benutzer-Profile anzeigen
probiers erstmal aus...
die onlinehilfe is auch nich allwissend...

x-pressive

BeitragMi, Feb 11, 2004 3:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt schon -bei mir zumindest reduziert das das Ruckeln, läuft ganz gut so. Ich befürchte aber, daß dann eventuell viele User Probleme mit der Steuerung haben werden, da diese Lösung ja angeblich nicht so kompatibel zu sein scheint... leider verschweigt die Online-Hilfe, WELCHE Probleme auftreten können.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

IonPainter

BeitragMi, Feb 11, 2004 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe in allen meinen spielen diesen befehl drin und bisher traten bezüglich steuerung keine probleme auf...

Markus2

BeitragDo, Feb 12, 2004 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Besser wäre es den Abstand zur Fenstermitte auszumessen
ABS(xmitte-xmouse)>100 dann wieder die Maus in die Mitte setzen .

Devils Child

BeitragSa, Mai 21, 2005 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir findet er toksin_createsimulator nicht!
*X-Ware Member*

Mission to Hell[Ego-Shooter]
Hier Vollversion runterladen:
http://patrick-sch.de/spiele/m...ersion.zip

ich antworte auf jede PN

BladeRunner

Moderator

BeitragSa, Mai 21, 2005 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Thread ist schon etwas älter, das Problem des Fragestellers scheint (halbwegs) gelöst.
Zu dem deinen: Du musst den Tokamakwrapper installiert haben damit es funzt. Benutz die Forensuche um rauszufinden was das ist und wie man es nutzt.
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

Lunatix

BeitragMo, Mai 23, 2005 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
ähh... warum machst du nit einfach
TURNENTITY player,mx,my,0

und danach
Movemouse graphicswidth()/2,Graphicsheight()/2
??
??
das würde dein prob glaubich lösen

MFG JP
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

BladeRunner

Moderator

BeitragMo, Mai 23, 2005 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
~GESCHLOSSEN~


Das Thema wurde wohl schon ausführlich beantwortet, Expressive hätte sich sonst sicher zu Wort gemeldet

BladeRunner
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

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group