AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wände im Spiel

Ein Thema von Meistermg · begonnen am 2. Apr 2010 · letzter Beitrag vom 3. Apr 2010
Antwort Antwort
Seite 2 von 2     12   
Meistermg

Registriert seit: 2. Apr 2010
Ort: Schwieberdingen
14 Beiträge
 
Delphi 2010 Architect
 
#11

Re: Wände im Spiel

  Alt 3. Apr 2010, 09:57
Also zum Beispiel:
If shape1.top = panel1.top then ????

Und bei ???? liegt mein Problem.
Wie kann ich nun verhindern, dass sich shape1 beim drücken einer der Pfeiltasten weiter bewegt?
  Mit Zitat antworten Zitat
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#12

Re: Wände im Spiel

  Alt 3. Apr 2010, 10:16
Zitat von Meistermg:
Also zum Beispiel:
If shape1.top = panel1.top then ????

Und bei ???? liegt mein Problem.
Wie kann ich nun verhindern, dass sich shape1 beim drücken einer der Pfeiltasten weiter bewegt?
Entweder setzt du jetzt dein Shape ein Stück zurück oder du verhinderst einfach, dass beim Drücken der Pfeiltaste nach oben nichts mehr passiert:

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case Key of
...
    VK_UP: begin
      IF not Shape1.top -5 = panel1.top then
      shape1.Top := shape1.Top - 5;
    end;
...
  end;
end;
Ich hoffe, dass ist jetzt richtig, denn ich bin selbst noch nicht so fit in Delphi.

Gruß und frohe Ostern.
Max
  Mit Zitat antworten Zitat
Benutzerbild von Lumpiluk
Lumpiluk

Registriert seit: 25. Dez 2008
110 Beiträge
 
#13

Re: Wände im Spiel

  Alt 3. Apr 2010, 11:12
Zitat von aurikel_Max:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case Key of
...
    VK_UP: begin
      IF not Shape1.top -5 = panel1.top then
      shape1.Top := shape1.Top - 5;
    end;
...
  end;
end;
Statt "IF not Shape1.top -5 = panel1.top then" würde ich
if Shape1.top -5 < 0 then benutzen.
Erstmal ist nämlich die Position des Panels für das, was darin ist, unwichtig (0 ist ganz oben; bei der Form wäre es genauso). Ausserdem könnte die Anfangsposition des Shapes auch auf einer Y-Position sein, die nicht durch 5 teilbar ist und dann würde es wieder durch die Wand gehen, weil nicht genau 0 erreicht wird.
Für rechts und unten verwendest du dann panel1.width, panel1.height (Tipp: Du musst die Ausmaße des Shapes mit einbeziehen )
  Mit Zitat antworten Zitat
Meistermg

Registriert seit: 2. Apr 2010
Ort: Schwieberdingen
14 Beiträge
 
Delphi 2010 Architect
 
#14

Re: Wände im Spiel

  Alt 3. Apr 2010, 11:19
Danke an alle und frohe Ostern
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:45 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