Maus-Steuerung ruckelt

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

monkfurts

Betreff: Maus-Steuerung ruckelt

BeitragSo, Dez 11, 2011 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
In meinem Ego-Shooter steuert mann mit der Maus.
Dafür habe ich folgenden code geschrieben:


außerhalb der hauptschleife:
...
entityparent cam,körper
...
hauptschleife:
...
while not keydown(1)
TurnEntity cam,MouseYSpeed(),0,0
TurnEntity körper,0, -MouseXSpeed(),0,0
...
wend

Es lässt sich auch steuern allerdings nicht flüssig
ich denke ungefähr in 1 grad Sprüngen.
wie ändere ich das?
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram

ZaP

BeitragSo, Dez 11, 2011 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
TurnEntity ..., ..., Float(MouseXSpeed) / 5.0, ...


MouseXSpeed gibt immer eine ganze Zahl zurück, also 1.0 als Float. Das 5.0 kannst Du dann entsprechend deinen Vorstellungen abändern, oder im Idealfall durch eine Variable ersetzen, die sich der Spieler später selbst setzen kann.
Starfare: Worklog, Website (download)

count-doku

BeitragSo, Dez 11, 2011 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei MouseYSpeed ist es natürlich genauso.
Ich würde ZaP's Lösung aber noch etwas abändern:

Code: [AUSKLAPPEN]
TurnEntity cam,Float(MouseYSpeed())*YMouseSpeed,0,0
TurnEntity körper,0, -Float(MouseXSpeed())*XMouseSpeed,0,0


YMouseSpeed und XMouseSpeed sind Variabeln, die der Benutzer dann mit z.b. nem Slider zwischen 0.25 und 2 einstellen kann, das wäre dann zwischen 1/4Empfindlichkeit und doppelter Empfindlichkeit.

Multiplikation ist (unwesentlich) schneller als division, und (ich finde) es rechnet sich leichter. Razz

lg,
Count-Doku

monkfurts

BeitragSo, Dez 11, 2011 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ok
Es funktioniert jetzt Very Happy
Auch wenn mir nicht klar ist für was ich das float brauche.
Es funktioniert auch ohne .
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram

Xeres

Moderator

BeitragSo, Dez 11, 2011 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Ergebnis der Rechnung ist eine Kommazahl, wenn mindestens eine der Zahlen eine Kommazahl ist.
Wenn du sicher gehen willst, schreibe den Punkt aus.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group