AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Image Jump'n'Run

Ein Thema von Carox · begonnen am 28. Mär 2021 · letzter Beitrag vom 29. Mär 2021
Antwort Antwort
Carox

Registriert seit: 28. Mär 2021
2 Beiträge
 
#1

Image Jump'n'Run

  Alt 28. Mär 2021, 23:51
Hallo!
Ich bin neu hier und hoffe meine Frage ist an der richtigen Stelle.
Im Informatikunterricht sollen wir ein Spiel programmieren und ich habe mich für ein Jump'n'Run entschieden. Der "Run"-Part läuft auch super, nur zum springen bekomme ich mein Image (Figur) nicht! Die Figur wird derzeit mit "A" bzw. "D" von links nach rechts gesteuert und ich tüftele nebenbei noch an der Kollision mit den Hindernissen (auch Image).
Ich hoffe nun, dass mir jemand Hilfe bei der Problematik des Springens geben kann, da ich schon eine Menge Forenbeiträge gelesen hab, aber die mich alle nicht weiter bringen konnten
LG
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#2

AW: Image Jump'n'Run

  Alt 29. Mär 2021, 10:08
Hallo,

Bilder?

Code?

schon mal die CastleEngine angeschaut?

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
608 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Image Jump'n'Run

  Alt 29. Mär 2021, 10:35
Crosspost! https://entwickler-ecke.de/viewtopic.php?t=118657

schon mal die CastleEngine angeschaut?
Du bist ein Scherzkeks. Informatikunterricht.

Die Figur wird derzeit mit "A" bzw. "D" von links nach rechts gesteuert und ich tüftele nebenbei noch an der Kollision mit den Hindernissen (auch Image).
Eins nach dem anderen würde ich sagen. Springen zuerst.
Wenn links und rechts verschieben schon geht, dann ist doch springen einfach nur wie nach oben verschieben und wieder runter fallen lassen
Meißt zeigt sich an der Stelle dass man mit einem direkten verschieben via Tasten drücken nicht weiter kommt.

Ich denke Du hast schon vom Timer gehört?
Mit Timer kommst du weiter. Wenn eine Taste gedrückt wird, merkst Du dir dass das passiert ist, verschiebst das Bild aber nicht.
Im Timer Ereignis schaust du nach eine Taste gedrückt wurde und führst die Aktion aus.
Für springen ist das TimerEvent dann mehrmals zuständig und verschiebt das Bild erst weiter nach oben und dann wieder nach unten.
Du bekommst mit einem Timer also Animationen programmiert.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.

Geändert von Sinspin (29. Mär 2021 um 17:40 Uhr) Grund: Crosspost link hinzugefügt
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Image Jump'n'Run

  Alt 29. Mär 2021, 14:54
Hallo,
zeig doch erst mal,
was du schon hast.
Heiko
  Mit Zitat antworten Zitat
Carox

Registriert seit: 28. Mär 2021
2 Beiträge
 
#5

AW: Image Jump'n'Run

  Alt 29. Mär 2021, 15:36
Erst einmal Danke für die ganzen Antworten!

Zitat:
Mit Timer kommst du weiter. Wenn eine Taste gedrückt wird, merkst Du dir dass das passiert ist, verschiebst das Bild aber nicht
Tatsächlich habe ichs auch schon mit einem Timer versucht, nur leider noch nicht hinbekommen. Soll ich den Timer durchlaufen lassen? Wenn ja, wie "merke" ich mir denn, ob eine Taste gedrückt wurde? Außerdem habe ich bis jetzt nur auf Tastendruck über FormKeyDown reagiert, kann ich auch anders abfragen, ob eine Taste gedrückt wurde?

Zitat:
Für springen ist das TimerEvent dann mehrmals zuständig und verschiebt das Bild erst weiter nach oben und dann wieder nach unten
Könnte ich damit auch realisieren, dass man beispielsweise "Leertaste" und "D" gleichzeitig drückt und damit im Sprung nach rechts steuert?

Tut mir Leid, falls die Fragen etwas unbeholfen wirken, aber ich bin echt kein Profi
Caro
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
608 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Image Jump'n'Run

  Alt 29. Mär 2021, 17:31
Tut mir Leid, falls die Fragen etwas unbeholfen wirken, aber ich bin echt kein Profi
Jeder von uns war mal genau da wo du jetzt bist. Ganz am Anfang

Soll ich den Timer durchlaufen lassen? Wenn ja, wie "merke" ich mir denn, ob eine Taste gedrückt wurde?
Klar, der läuft immer, macht aber nur dann etwas wenn er gebraucht wird.
Das brauchen des Timers legst du mit Variablen fest. Zum Beispiel in Boolean. Wenn Taste "A" gedrückt wurde dann TasteA := true.
Im Timer ist es dann wenn TasteA = true dann bewege Bild.

Außerdem habe ich bis jetzt nur auf Tastendruck über FormKeyDown reagiert, kann ich auch anders abfragen, ob eine Taste gedrückt wurde?
Dann nimm doch noch FormKeyUp dazu und setze TasteA := false wenn die Taste losgelassen wurde.

Könnte ich damit auch realisieren, dass man beispielsweise "Leertaste" und "D" gleichzeitig drückt und damit im Sprung nach rechts steuert?
Wenn man will geht alles. Wenn alle wollen würden wäre morgen Frieden auf der Erde
Aber bau erstmal den Timer ein, später kann man das ganze dann noch schöner machen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz