Autor Beitrag
Delphi-Zone
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 24.09.10 17:40 
Du hast in Zeile 2199 vergessen die Figur wieder nach unten zu bewegen...
Delphi-Zone Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: Fr 24.09.10 17:45 
1. hahahah witzig 2199^^
2. ja, wie beweg ich den nach unten? mit welchem befehl^?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: Fr 24.09.10 17:57 
ähmheißt das active control?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 24.09.10 18:00 
Upps, mein Fehler. :oops:

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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: Fr 24.09.10 18:28 
Hmmmmm, irgendwie stimmt da noch was nicht. er bleibt immernoch oben.

ausblenden volle Höhe Delphi-Quelltext
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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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 user profile iconNarses: Delphi-Tags hinzugefügt
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Fr 24.09.10 18:41 
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: Fr 24.09.10 18:47 
ja, hab ich rausgenommen. sry^^

aber das ändert nichts an meinem problem.....
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Win 7
Delphi 7.0 Prof
BeitragVerfasst: Fr 24.09.10 19:04 
ja, aber er fällt den nicht von selber runter?!
und das soll er ja.
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: 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)