Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

11

05.08.2012, 10:46

Achso du willst schrittweise bewegen und nicht flüssig? Dann kannst du auch wenn die Taste gedrückt (gehalten) wird eine Variable für die Taste auf true setzen und im main loop bewegen. Nach der Bewegung setzt du die Variable auf false. Dadurch muss der Spieler immer klicken und kann nicht gedrückt halten.

12

05.08.2012, 11:05

Vielen Dank für die vielen Hinweise hinsichtlich der Kollision, aber um die geht es mir in erster Linie (noch) nicht.
Eher darum, wie ich die Tastaturabfrage besser steuern kann.



Achso du willst schrittweise bewegen und nicht flüssig? Dann kannst du auch wenn die Taste gedrückt (gehalten) wird eine Variable für die Taste auf true setzen und im main loop bewegen. Nach der Bewegung setzt du die Variable auf false. Dadurch muss der Spieler immer klicken und kann nicht gedrückt halten.
@DeKugelschieber: Danke, das habe ich schon probiert, funktioniert auch, finde ich aber nicht so gut. Ich will schon, dass der Spieler auch gedrückt halten kann. Wie bei Blocks 5. Das finde ich gut da. Bei einmal Taste drücken bewegt sich das Männchen ein Tile, bei gedrückt halten mehrere.

Es reicht mir ja, wenn sich der Player beim drücken immer um ein Tile (20 Pixel) bewegt, aber es soll eben immer nur ein Tile sein. Wenn ich die Taste drücke sind es aber immer gleich mehrere, weil die Abfrage zu schnell ist und man den Finger gar nicht so schnell wieder weg von der Taste bekommt.

Kann man diese Abfrage nicht irgendwie verlangsamen oder verzögern?

Ist doof zu erklären, aber vlt. weiß jmd. was ich meine... Ich habe als Anhang mal das Prog angefügt, dann könnt ihr euch klar machen was mein Problem ist. :)

Danke
»Eyes Only« hat folgende Datei angehängt:
  • Tile_Map.zip (756,22 kB - 47 mal heruntergeladen - zuletzt: 30.01.2024, 12:44)

13

05.08.2012, 14:09

Dann wäre wohl ein Timer das richtige. Immer wenn eine bestimmte Zeit erreicht wurde (am besten unabhängig von der FPS) setzt du die Variable wieder auf true, also dass wieder gelaufen werden kann.
Diese Angaben sind (wie immer) ohne Gewähr :D

14

05.08.2012, 20:01

Ok, ich danke ersteinmal allen so weit. Ich werde das Ganze nochmal genau überdenken und ein bisschen testen.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

15

05.08.2012, 21:25

Wenn du nichts Zeitabhängig machst, kannst du doch einfach eine Variable rauszählen solange deine Taste gedrückt wurde. Wenn sie einen bestimmten Wert erreicht hat bewegst du die Spielfigur und setzt die Variable wieder zurück. Wenn die Taste losgelassen wurde wird die Variable auch zurück gesetzt. Wie schon gesagt wurde, solltest du dir angucken, wie du solche Sachen in Abhängigkeit von der Zeit löst. Solltest du dir auf deinem Lehrplan recht weit oben aufschreiben.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige