Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ego Shooter - Maus Steuerung (https://www.delphipraxis.net/35483-ego-shooter-maus-steuerung.html)

idontwantaname 7. Dez 2004 21:52


Ego Shooter - Maus Steuerung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!

Ich programmiere grad ein kleines OpenGL Spielchen:
Man rennt durch ein Labyrinth, welches aus der Datei map.bmp geladen wird, und man soll das Ziel erreichen, der in der Bitmap mit einem gelben Pixel gekennzeichnet ist, es passiert zwar noch nichts, aber ...... egal :mrgreen:

Nur leider muss man sich zum Drehen mit der Maus an den Fensterrand hinbewegen, und dass will ich ändern:
ich will so eine "Ego Shooter - Maus Steuerung" (mir ist kein besserer Name eingefallen) einbauen, nur leider hab ich überhaupt keine Idee, wie ich das machen soll :cry:

also, falls jemand ideen hat, her damit :mrgreen:

PS:
im anhang ist noch das spiel

mfg
idontwantaname

Ben1 8. Dez 2004 09:05

Re: Ego Shooter - Maus Steuerung
 
Jetzt läuft deine Steuerung vermutlich so ab das prüfts ob sich die Maus am Bildschirmrand befindet und du dann entsprechend drehst.

Mach es so:

1. Nutze nicht den Windowsmauszeiger, sonder zeichne dein eignes HUD
2. Subtrahiere von der X-Mausposition die halbe Bildschirmbreite
3. Multipliziere den Wert mit einem Faktor über den du die Drehgeschwindigkeit/Drehrichtung in abhängigkeit zur Mausauslenkung einstellst
4. drehe dein Objekt
5. setze die Maus wieder in die Mitte des Bildschirms; wieder zu 2.

Denn Windowsmauszeiger sollte man dabei nicht nutzen da er wie wild ruckeln würde, wenn du die Bewegung auch in nach oben und unten willst dann zusätzlich noch die Y-Mausposition mir der halben Bildschirmhöhe verrechnen.

idontwantaname 8. Dez 2004 10:44

Re: Ego Shooter - Maus Steuerung
 
die frage ist vllt blöd, aber trotzdem: was ist ein HUD ??

Ben1 8. Dez 2004 10:53

Re: Ego Shooter - Maus Steuerung
 
Head-Up-Display, bzw. in einem Egoshooter das Zeugs das dir noch zusätzlich eingeblendet wird, zielkreuz und so was.

idontwantaname 8. Dez 2004 11:00

Re: Ego Shooter - Maus Steuerung
 
aso, und wie mache ich sowas ??

ich kenne mich leider mit delphi (noch) nicht so gut aus, vllt auch, weil ich mir alles selber oder durch tutorials beigebracht habe, und nur die themen, die mich interessieren

Ben1 8. Dez 2004 11:13

Re: Ego Shooter - Maus Steuerung
 
Alles was du brauchst ist ein Punkt in der Mitte des Bildschirm um einen Bezugspunkt zu haben, und selbst darauf kannst du verzichten. OpenGL bietet dir doch dazu genug Möglichkeiten.

Anosonten bezüglich der Maussteuerung, die Position der Maus bekommst du jederzeit über getcursorpos (oder so ähnlich), die Bildschirmbreite sollte auch nicht das Problem sein. Drehen des Objektes macht dein OpenGL, und um die Maus wieder in die Mitte zu setzen gibts auch irgendeinen Befehl. (weiß jetzt gerade nicht wie der heißt)

//edit
SetCursorPos <-

Ben1 8. Dez 2004 11:51

Re: Ego Shooter - Maus Steuerung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab das mal schnell zusammengekloppt (Mittagspausenerholungsarbeit :drunken: )

Allerdings wirst du das Programm nicht so einfach beenden können da die Maus immer in der Mitte bleibt :lol: Da kannst du dann ja deine entsprechenden Bedingungen formulieren.

Mal ne andere Sache. Dein Programm wirkt wie 100% copy & paste. Lieg ich damit richtig ?

idontwantaname 8. Dez 2004 12:17

Re: Ego Shooter - Maus Steuerung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Ben1
Mal ne andere Sache. Dein Programm wirkt wie 100% copy & paste. Lieg ich damit richtig ?

naja, nicht 100%, aber sagen wir 99,9% :mrgreen:
ich habe dieses programm mit hilfe dieses Tutorials gemacht, aber z.b. die objects.dll ist von mir :-D

und weswegen dein sample nicht unbedingt geht: der fpstimer ist nur da, um den fps zu bestimmen, du musst das ganze in die myIdle procedure geben
das hab ich schnell mal erledigt, und hier das richtig funktionierende programm

PS: es mag zwar eher mehr copy&paste arbeit sein, aber wenigstens verstehe ich, warum das so funktioniert, und darum geht es ja, oder :gruebel:

//edit: hab aus versehen das falsche archiv angehängt :oops:

omata 8. Dez 2004 20:21

Re: Ego Shooter - Maus Steuerung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

ich habe mich jetzt auch mal dran versucht.

Die Maussteuerung habe ich mal deaktiviert und dafür die Tastaturbedienung verändert.

Jetzt ist auch ein drehen möglich (Cursor-Links/Rechts länger halten) rechts/links Schritte sind mit kurzen Tastenschlägen möglich.

MfG
Thorsten

PS: Habe den Code mal etwas überarbeitet (Konstanten groß, Leerzeichen eingefügt, Die Dll
rausgeschmissen, Vollbildschirm aktiviert - Beenden mit Alt+F4!, nichtbenötigte globale Variablen
lokal deklariert, Einen Typen für die Texturen angelegt, ...)

Ironmaster 19. Jul 2007 23:06

Re: Ego Shooter - Maus Steuerung
 
hallo,

wie kann man denn den Maus-Cursor unsichtbar machen? Dann würden die nervösen Störungen des Mauszeigers aufgehoben werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz