JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=6e99d6f1eacba3937d50288d7ebd00e8Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

keine Taste

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 04.01.2003, 11:59    Titel: keine Taste Antworten mit Zitat

Hi, wie kann ich feststellen das keine Taste gedrückt wurde??

Ich verwende DInput - Klasse aus dem Buch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 04.01.2003, 12:43    Titel: Antworten mit Zitat

Du hast doch bestimmte eine Funktion zum Abfragen des Tastaturstatus?

ansonsten(so ungefähr):

Code:

//Tastaturabfrage von DirectX
...
int nobutton=0;
for(int i=0;i<256;i++)
{
if(!bKeyboard[i])
{
nobutton++;
}
}
if(i==nobutton)
{
//keine Taste wurde gedrückt
}
...


Kann sein, das man vorm Vergleich nobutton nochmal um 1 erhöhen muss...

Hoffe konnte helfen... Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 04.01.2003, 13:35    Titel: Antworten mit Zitat

so stimmts, aber es is zu umständlich

Code:

int i=0;
for(;i<256;i++)
{
if(!bKeyBoard[i])
{
exit;
};
};
if(i=255)
{
//keine Taste gedrückt
};


Das wäre auch schneller, weil wenn eine taste gedrückt ist wird abgebrochen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 04.01.2003, 14:04    Titel: Antworten mit Zitat

Es geht sogar beides Smile

Vielleicht gibt es ja aber schon von Anfang an ein Variable die prüft, ob überhaupt eine Tastatureingabe erfolgt ist?
Wenn die Tastatur zum Beispiel reintheoretisch nen Buffer hätte...könnte man das gleich abfragen...
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 04.01.2003, 16:56    Titel: Antworten mit Zitat

@gl_echse:

wieos hast du nach den {}-Klammern der if abfrage und der schleife n semikolon? soweit ich weiß brauch man das nicht.
unten muss es noch heißen:
if(i==255) nicht if(i=255)

is exit ein schlüsselwort? ansonsten müsste es return heißen.
ich bin auch nicht ganz sicher, ob die schleife das macht was sie machen soll. du müsstest in der if abfrage der schleife das ! weglassen.

@Millenium & gl_echse
ich würde das anders ansetzen. ich würde zählen wie viele buttons gedrückt sind.

Code:

int NumPressedButtons = 0;
for(int i=0;i<256;i++)
{
     if(Keyboard[i])NumPressedButtons++;
}

if(NumPressedButtons)
{
    // Button gedrückt
}
else
{
    // Nicht gedrückt
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 05.01.2003, 11:51    Titel: Antworten mit Zitat

Nach {} kann man ein ; schreiben muss aber net

return beendet die funktion und nicht die schleife.

das mit den == war ein fehler Wink

[edit]Dei code hat den nachteil dass es erst alles überprüft, und du brauchst eine variable mehr. is zwar net viel aber so kleinigkeiten summieren sich Wink [edit]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 05.01.2003, 11:54    Titel: Antworten mit Zitat

Noch was: wenn du naher die int als bool verwendest wärs besser wenn du erst castest.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 05.01.2003, 14:08    Titel: Antworten mit Zitat

exit klang mir mehr nach return Smile

casten?
wieso casten? das geht auch ohne.

Zitat:

Dei code hat den nachteil dass es erst alles überprüft, und du brauchst eine variable mehr. is zwar net viel aber so kleinigkeiten summieren sich icon_wink.gif


das stimmt, alerdings kann man meine funktion für mehr dinge verwenden.
(hab vergessen zu schreiben das es eine funktion sein soll)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
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