JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DirectInput
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 23.03.2003, 15:28    Titel: DirectInput Antworten mit Zitat

bin grad an nem kleinen spiel und versuche eingabe mit DI zu implementieren. ich hab so geprogt das wenn man eine bestimmte taste drückt ein Integer-wert um 1 inkrementiert wird. doch wenn ich diese taste auch nur kurz drücke inkrementiert sich der wert der variable um z.B. 10 oder 7. wenn ich die taste nur kurz "antippe" erhöht sich die variable nur um 3 oder 5. Muß ich da jetzt eine frame-bremse oder sowas implementieren oder geht das auch anderst. Denn als ich eingabe noch mit dem GDI verwirklicht hab ging das eigentlich ganz normal.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.03.2003, 15:33    Titel: Antworten mit Zitat

Du must da eine Framebremse verwenden, da die Inputfunktion bei jedem Durchlauf der Hauptnachrichtenschleife gestartet wird.
In der Windows-Callback-Funktion ist diese Verzögerung schon dabei.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 23.03.2003, 16:10    Titel: Antworten mit Zitat

Eine Framebremse ist vielleicht nicht der richtige Weg - teste lieber, ob du die taste drückst, setze dann einen Status und wenn du sie wieder loslässt lösche den Status und incrementiere...

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 24.03.2003, 15:08    Titel: Antworten mit Zitat

hmmmmmm... glaub ich nimm erst die Frame-Bremse wollt sowieso mal nen Framezähler ins spiel integrieren. dann kann ich mir auch die frames anzeigen laßen und bei anderen rechnern laufen lasen. somit hab ich auch gleich die systemanforderungen für mein spiel.... . und wenn es dann immer noch geht dann muß ich müßte ich es so versuchen wie AFE-GmdG vorgeschlagen hat. aber danke noch für die antworten Exclamation Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 24.03.2003, 15:24    Titel: Antworten mit Zitat

Zitat:

somit hab ich auch gleich die systemanforderungen für mein spiel


Nein, hast du nicht. Eine Framebremse ist keine Garantie für eine feste Framerate. Eine Bremse für die Lösung eines solchen Problems zu verwenden ist ziemlich unpassend und nicht gerade elegant. Außerdem müsstest du die Framerate auf 10 F/s oder so begrenzen damit man gut eingeben kann.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 25.03.2003, 16:08    Titel: Antworten mit Zitat

Hazel hat Folgendes geschrieben:
Eine Bremse für die Lösung eines solchen Problems zu verwenden ist ziemlich unpassend und nicht gerade elegant

Das kommt ganz drauf an, was für ein Programm es ist.
Bei einem Programm, in dem man Strings eingeben kann, ist das mit dem Status am Besten(1). Wenn man aber z.B. eine Simulation oder ein Action-Game programmiert, dann ist es lästig, immer die Taste loszulassen und wieder zu drücken, bis das nächste mal die Taste abgefragt wird(2).

@nigs: aus deinem ersten post konnte ich nicht entnehmen, ob du die erste oder die zweite Variante proggen willst.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 25.03.2003, 18:01    Titel: Antworten mit Zitat

Wenn das Problem die Bewegung ist, sollte man sowieso nur den Tastenstatus abfragen und die Variable unabhängig von der Dauer des Gedrückthaltens manipulieren.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 25.03.2003, 21:10    Titel: Antworten mit Zitat

soll ein action-game werden. ich pobiers halt mal mit na Frame-Bremse aus, schaden kanns ja net Very Happy und hab noch ne frage wenn ich die Befehle mit Query.. benutze findet sie mein compiler nicht. braucht man für diese Befehle Bibliotheken, Headers etc. Question
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 16:15    Titel: Antworten mit Zitat

Es könnte sein, dass auf deinem Rechner der Queryzähler nich drauf is.
AFAIK braucht man dafür keine libs und header.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 14:02    Titel: Antworten mit Zitat

warum sollte der da nich drauf sein. liegt das an der hardware oder software???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 14:06    Titel: Antworten mit Zitat

Zitat:
Es gibt aber noch einen besseren Weg: den Performance Counter. Der Performance Counter ist ein Hardwarebaustein, der mit 3,19 MHz läuft.
[...]Leider steht der Performance Counter auf manchen älteren Systemen nicht zur Verfügung.

Steht auf Seite 313.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 16:14    Titel: Antworten mit Zitat

das hatte ich schon gelesen aber das buch kam vor zwei Jahren raus.
und hier mal mein system:
AMD 1000 MHz
Geforce 2 MMX
256 MB SDRAM
und win xp. naja ist wohl auch vor zwei Jahren nicht das beste gewesen * Embarassed * aber so veraltet war es dort noch nich Idea
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 16:31    Titel: Antworten mit Zitat

veraltet?? Very Happy Sorry, das ich lachen muss, aber wenn du dich bei einem 1 GHZer schämen musst, dann möcht ich wissen was ich mit meinen 300 Mhz machen muss. 160 MB RAM ist auch nich soviel wie du hast. Also, warum schämst du dich für deinen PC???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 16:32    Titel: Antworten mit Zitat

nigs hat Folgendes geschrieben:
und win xp. naja ist wohl auch vor zwei Jahren nicht das beste gewesen * Embarassed * aber so veraltet war es dort noch nich Idea

An win xp liegts sicher nich, wenns ein Hardwarebaustein is.
Könnte höchstens sein, dass dein Rechner oder Gehäuse vielleicht alt is, oder der Performance Counter aus unerfindlichen Gründen nicht eingebaut worden is.
Sry, aber ich kann auch nur mutmaßen. Bin leider in Sachen Hardware nich so fit. Sad
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 16:35    Titel: Antworten mit Zitat

Hallo,

in jedem Rechner mit Pentium-/Athlon Prozessor ist das drin.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum