WinFuture-Forum.de: [c#] Tastatur Verzögerung - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[c#] Tastatur Verzögerung


#1 Mitglied ist offline   web189 

  • Gruppe: aktive Mitglieder
  • Beiträge: 218
  • Beigetreten: 25. September 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niex

geschrieben 12. Oktober 2007 - 07:34

Hallo Leute,

Ich bin seit einiger Zeit dabei, mich mit C# zu beschäftigen. Nachdem ich einige Standard Anwendungen durch habe, würde ich mich gerne an einem Spiel versuchen. (erstmal PONG)

Naja, soweit so gut, Ballphysik funktioniert, KI auch, nur eine Sache macht mir Probleme.

Ich weiß nicht genau wie ich es ausdrücken soll, aber es der Puddle des Spielers hat eine ziemliche Verzögerung beim bewegen. Wenn ich die Zeit schätzen sollte würde ich etwa auf 200-300ms tippen. Hab schon verschiedene Varianten der Tastatur abfrage durch - selbes Problem.


Hier einmal wie ich bisher versucht habe.


Keypress{
bewegDich();
}



Von dieser Methode wurde mir bereits in einem anderen Forum abgeraten. Empfohlen wurde mir diese:


Keypress{
bewegen = true;
}

Spielschleife{

if(bewegen)
{
bewegDich();
}
.
.
.
}


Ich hoffe der Pseudocode ist halbwegs verständlich. Weiß zufällig jemand zufällig wo das Problem steckt?



Ps. Bei Bedarf kann ich heute Nachmittag gern mal den ganzen Quellcode uppen.

Mfg,
Sebastian
0

Anzeige



#2 Mitglied ist offline   Mindhunter2202 

  • Gruppe: aktive Mitglieder
  • Beiträge: 31
  • Beigetreten: 02. Mai 07
  • Reputation: 0

geschrieben 12. Oktober 2007 - 08:15

Hi Sebastian!

Der Quellcode wär nicht unwichtig, dann könnt ich es nachbauen und mich an einer alternativen Variante versuchen. Vielleicht find ich ja was...

lg Martin
0

#3 Mitglied ist offline   web189 

  • Gruppe: aktive Mitglieder
  • Beiträge: 218
  • Beigetreten: 25. September 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niex

geschrieben 12. Oktober 2007 - 08:20

okay vielen Dank :imao: Werd mich heute Nachmittag drum kümmern (Bin gerade auf der Arbeit). Wäre mir sehr wichtig, da dieses Problem leider in jeder Anwendung auftritt, in der es auf Bewegungen ankommt.


Hab auch schon überall nachgefragt, aber Antworten wie "Windows Form ist zu lahm nimm DirectX" Können eigentlich nicht die Lösung sein wenn man bedenkt wie viele Freeware Spiele ohne DirectX auskommen.


Vielen Dank,
Sebastian
0

#4 Mitglied ist offline   Mindhunter2202 

  • Gruppe: aktive Mitglieder
  • Beiträge: 31
  • Beigetreten: 02. Mai 07
  • Reputation: 0

geschrieben 12. Oktober 2007 - 09:01

Ich hab mal schnell was zusammengeschnitzt. Ist natürlich quick and dirty und weit weg von einem Game.
Aber zur Veranschaulichung sollte es reichen.

Mit gedrückter Maustaste kannst du das Control bewegen. Es geht auch mit W,S,A,D. Wenn du beide Varianten probierst wirst du feststellen, dass es mit der Maus kein Problem mit der Geschwindigkeit gibt.
Bei der Tastatur-Variante liegt das Problem darin, dass es sich sofort bewegt, aber dann hast du eine Latency, die du in jedem Programm vorfindest. Öffne einfach mal Word und halte eine beliebige alphanumerische Taste gedrückt. Der Wert erscheint --> kurze Pause --> dann erscheint er (fast) ohne Verzögerung wiederholt.
Ich hab leider keine Ahnung wie man das umgehen kann. Vielleicht können dir die Jungs von tutorials.de weiterhelfen. Von dort hab ich auch das Grundgerüst für die Demo.

Halt mich doch bitte weiter auf dem Laufenden

Angehängte Datei(en)


Dieser Beitrag wurde von Mindhunter2202 bearbeitet: 12. Oktober 2007 - 09:02

0

#5 Mitglied ist offline   web189 

  • Gruppe: aktive Mitglieder
  • Beiträge: 218
  • Beigetreten: 25. September 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niex

geschrieben 12. Oktober 2007 - 09:35

GENAU diesen Effekt meine ich. So in etwa läuft das bei meinem Pong Spiel auch. Das macht mich ganz schön fertig, weil duieser Aspekt in KEINEM Tutorial als Problem auftritt.
Bei tutorials.de werd ich auch nochmal nachfragen, hab gerade einige Threads parallel offen :imao:
Vielen Dank für die Demo, das dürfte die Problematik für andere verständlicher machen. Ich habe mir eien Art Lehrplan geschrieben, den ich nacheinander abarbeite.
PONG wollte ich eigentlich nur als erste Übung nehmen, aber dieses Problem bekomme ich einfach nicht weg.

Ich poste wieder, sobald ich mehr weiß - über weitere Lösungsansätze würde ich mich freuen.

Mfg,
Sebastian
0

#6 Mitglied ist offline   web189 

  • Gruppe: aktive Mitglieder
  • Beiträge: 218
  • Beigetreten: 25. September 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niex

geschrieben 15. Oktober 2007 - 08:13

Okay ich habe mich wieder einen Nachmittag rangesetzt und bin auf einen Lösungsansatz gestoßen. Und zwar gibt es in der Systemsteuerung unter "Tastatur" 2 Regler, die unter anderem für die Verzögerung der Tastatur zuständig sind.
Wenn ich diese minimiere, so überträgt sich dieser Effekt auf mein Programm. Also theoretisch müsste es möglich, die entsprechenden Daten während der Laufzeit zu verändern und bei Programm ende zurückzusetzen.

Ich forsche weiter :smokin:

Mfg,
Sebastian
0

#7 Mitglied ist offline   Mindhunter2202 

  • Gruppe: aktive Mitglieder
  • Beiträge: 31
  • Beigetreten: 02. Mai 07
  • Reputation: 0

geschrieben 15. Oktober 2007 - 11:03

Stell doch mal deinen SourceCode rein. Vielleicht find ich ja noch was.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0