Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#26

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:41
HI,

Zitat von Fabbe:
Und wo wir schon dabei sind: Wie kann ich mit Canvas abfragen was für eine Farbe an einer bestimmten Stelle ist?
Das gebt mit Canvas.Pixels[X, Y] mit dem Rückgabewert TColor.

Zitat von Fabbe:
Delphi-Quellcode:
if runter=1 then {nichts, da es in dem ersten durchlauf nichts zu löschen gibt} else rectangle(x,y,x1,y2); {löschen des voherigen Blockes, also der vorherigen Position}
              Brush.color:=clmaroon; {ändern der Farbe}
              rectangle(x,y1,x1,y3);{neue Position}
Ich werd bald wahnsinnig...
wenn diese doofe Tastenerkennung gehen würde wäre der rest schon viel einfacher
Hier feht bei code glaub ich ein begin und end, da der neue Stein ja nur dann gezeichnet werden soll, wenn runter <> 1.
Ich glaub, du weist nicht wirklich viel mit type TTaste = (ttNone,ttLeft,ttRight,ttDown,ttTurn); anzufangen, oder?

Ftaste kannst du im Timer-Event wie eine normale Variable auswerten. Die einzige Einschränkungbesteht lediglich darin, dass du die definierten Werte (ttNone, ttLeft, ...) verwenden musst. Das ganze geht auch mit Case.

Beispiel:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: Tobject);
begin
case FTaste of
  ttNone: ; // nix (lass dir was einfallen oder lass es weg)
  ttLeft: Stein_nach_links;
  ttRight: Stein_nach_rechts;
  ttDown: Stein_nach_unten;
  ttUp: Stein_drehen;
end;
fTaste := ttNone;
end;
Es wäre zu empfehlen, wenn du jede Steinbewegung in eine extra Prozedur auslagerst, um den Code übersichtlich zu halten. Dort kannst du dann auch die Gültigkeitsabfrage deines Zuges machen (und Zeichnen)

rollstuhlfahrer
Hoffe doch mal, dass es verständlich ist.


Nachtrag:
Zitat von Fabbe:
Könnts mir ja gerne Versuchen zu erklären
Hab ich versucht
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat