Autor |
Beitrag |
Delphi-Zone
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 17:22
Hallo,
Ich hab ein kleines 2d game gemacht,
Ich wollte das meine figur (images)
springt.
aber wie mach ich das? es kann bisher nach lings und rechts laufen.
und wenn ich es versuche hochspringen zu lassen, denn bleibt es oben.
bitte um hilfe,
gruß tom
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 24.09.10 17:40
Du hast in Zeile 2199 vergessen die Figur wieder nach unten zu bewegen...
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 17:45
1. hahahah witzig 2199^^
2. ja, wie beweg ich den nach unten? mit welchem befehl^?
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 24.09.10 17:47
Um das Ding hochzukriegen, hast du sicherlich irgendwo ein image1.Top := image1.Top - 1; im Code. Wenn du das Bild wieder unten haben willst, würde sich doch eine der anderen drei Grundrechenarten anbieten, oder? 
_________________ We are, we were and will not be.
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 17:48
-.- wenn ich ihn aber oben hab und denn wieder +1 anstatt -1 nehme bleibt er unten und bewegt sich garnicht
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 24.09.10 17:51
Achso...
Dann würde ich das mit einem Timer machen. Beim Hochspringen aktivierst du den, beim runterspringen wird der wieder abgeschaltet (Eigenschaft Active). Und im OnTimer-Event setzt du das Bild wieder runter.
_________________ We are, we were and will not be.
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 17:57
ähmheißt das active control?
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 24.09.10 18:00
Upps, mein Fehler.
Ich meinte enabled. Das ist eine Eigenschaft der TTimer-Komponente, die du dafür auf die Form packen musst.
_________________ We are, we were and will not be.
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 18:07
also enabled ist jetzt auf true, und jetzt was muss ich schreiben.
So also wenn man jetzt pfeiltaste oben drückt,ngeht er -50 , (nach oben)
Und bleibt da, ich muss jetzt doppelklick auf Ttimer machen, und den öffnet sich ja die prozedur.
so weit bin ich. wie gehts jetzt weiter?
gruß tom
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 24.09.10 18:13
Da gehört dann entsprechend ein + 50 rein. ,-)
Zur Erklärung: Wenn der Timer "enabled" ist, wird immer nach "Interval"-vielen Millisekunden der Code ausgeführt, der durch das OnTimer-Event festgelegt wird. Wenn man etwas nur einmal ausgeführt haben will, dann setzt man im OnTimer-Event die Eigenschaft Enabled wieder auf false.
_________________ We are, we were and will not be.
Für diesen Beitrag haben gedankt: Delphi-Zone
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 18:28
Hmmmmm, irgendwie stimmt da noch was nicht. er bleibt immernoch oben.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66:
| unit feld1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TForm1 = class(TForm) Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image7: TImage; Image8: TImage; Image6: TImage; Timer1: TTimer; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_LEFT: begin Image7.Left := Image7.Left - 5; image8.left := image7.Left - 5; image7.Visible := false; image8.Visible := true; Key := 0; end; VK_RIGHT: begin Image7.Left := Image7.Left + 5; image8.left := image7.Left + 5; image7.Visible := true; image8.Visible := false; Key := 0; end; VK_UP: begin image7.Top := image7.Top -50; image8.Top := image8.Top -50; end; end; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin image7.Top := image7.Top +50; image8.Top := image8.Top +50; end;
end. |
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Fr 24.09.10 18:41
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| ... VK_UP: begin image7.Top := image7.Top -50; image8.Top := image8.Top -50; end; VK_DOWN: begin image7.Top := image7.Top +50; image8.Top := image8.Top +50; end; ... |
?!?
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 18:47
ja, hab ich rausgenommen. sry^^
aber das ändert nichts an meinem problem.....
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Fr 24.09.10 18:55
Warum nicht reingenommen?
In deinem Programm sagst du, was gemacht werden soll, wenn man nach oben/links/rechts drückt. Aber was bei Taste_Runter gemacht werden soll, lässt du weg. Soll der PC raten, was geschehen soll?
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
Delphi-Zone 
      
Beiträge: 45
Win 7
Delphi 7.0 Prof
|
Verfasst: Fr 24.09.10 19:04
ja, aber er fällt den nicht von selber runter?!
und das soll er ja.
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Fr 24.09.10 19:06
Achso, von alleine, sorry.
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|