Einzelnen Beitrag anzeigen

Benutzerbild von Ben1
Ben1

Registriert seit: 11. Okt 2004
Ort: Rostock
36 Beiträge
 
Delphi 6 Personal
 
#8

Re: Anhalten bei Image-Bewegung verhindern

  Alt 12. Okt 2004, 19:02
Auch wenn mich wundert wie so ein Spiel fast 1 MB groß sein kann, die tastensteuerung funktioniert tadellos.
Für einen Weltraumschiffballerspiel würde ich aber ein anderes Konzept vorschlagen, denn so gibt es nur zwei Geschwindigkeiten, null und vollgas.

Vielmehr sollte es so gestaltet werden das je länger der Tastendruck andauert desto schneller wird das Objekt (bis zu einer gewissen Grenze) und beim loslassen geht die Geschwindigkeit wieder allmählich auf Null zurück. Läßt sich auch über keydown und keyup realisieren (sicher auch mit DelphiX). Dadurch kommt so etwas wie realistische Trägheit ins Spiel.

Das könnte ganz grob beschrieben so aussehen:

var bewegung:boolean = false;
geschwindigkeit:integer = 0;

keydown:

if not bewegung then
bewegung:= gedrückte_Taste = Bewegungstaste;

-----------------------
keyup:

if bewegung then
bewegung:= not (gedrückte_Taste = Bewegungstaste);

-----------------------

ontimer:

if (bewegung) and ( geschwindigkeit < obergrenze) then
inc(geschwindigkeit);

if (not bewegung) and (geschwindigkeit >0) then
dec(geschwindigkeit);

inc(position,geschwindigkeit);

------------------------------

Wenn du das ganze füe alle Richtungen umsetzt dann sieht das toll aus
Ben
  Mit Zitat antworten Zitat