![]() |
Pong Spiel - Ball bewegt sich nicht
Hallo erst mal,
ich finde es richtig toll von euch, dass ihr euch um die Probleme von anderen kümmert und ihnen helft. Das ist wirklich nett von euch. Ich selber habe da auch eine Frage an euch, und zwar wollte ich als Hausaufgabe das Pong Spiel programmieren, scheitere aber daran, dass der Ball sich nicht bewegt. Im Unterricht habe ich es hin bekommen, aber zu Hause wusste ich nicht mehr wie es ging. Muss man dann beim Timer im Objektinspektor noch was einstellen oder im Quelltext? Wie gesagt der Ball ist vorhanden nur bewegt er sich nicht. Ich hoffe, dass mir vielleicht irgendwer helfen kann. Danke |
Re: Pong Spiel - Ball bewegt sich nicht
Hi fransa,
erst einmal herzliche Willkommen in der Delphi-PRAXiS :dp: Wenn Du uns Deinen Quellcode zeigst, können wir Dir sicher noch um einiges besser helfen. Wenn Du den Quellcode einfügst, mache noch ein [delphi][ /delphi] (ohne das Leerzeichen) drum rum, damit das Forum den Code wie in Delphi hervorhebt. |
Re: Pong Spiel - Ball bewegt sich nicht
Delphi-Quellcode:
unit Unit1;
interface uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls; type TForm1 = class(TForm) MainMenu1: TMainMenu; Menu: TMenuItem; Start1: TMenuItem; Beenden1: TMenuItem; Image1: TImage; Image2: TImage; Timer1: TTimer; procedure Beenden1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); procedure Start1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; d,f,g,x5,y5,x6,y6:integer; implementation {$R *.DFM} procedure TForm1.Beenden1Click(Sender: TObject); begin close; end; procedure TForm1.FormCreate(Sender: TObject); begin x5:=150;y5:=100;x6:=180;y6:=130; d:=5; image1.canvas.brush.color:=clwhite; image1.canvas.rectangle(0,0,600,400); image1.canvas.brush.color:=clmaroon; image1.canvas.ellipse(x5,y5,x6,y6); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin image2.canvas.brush.color:=clnavy; image2.canvas.rectangle(100,100,150,200); if (GetAsyncKeyState(vk_up)<>0) then image2.top:=image2.top-d; if (GetAsyncKeyState(vk_down)<>0) then image2.top:=image2.top+d; end; procedure TForm1.Timer1Timer(Sender: TObject); begin x5:=x5+f;y5:=y5+g;x6:=x6+f;y6:=y6+g; with image1.canvas do begin brush.color:=clwhite; rectangle(0,0,600,400); brush.color:=clmaroon; ellipse(x5,y5,x6,y6); if x5>=570 then f:=f*(-1); if y5>=370 then g:=g*(-1); if x6<=30 then f:=f*(-1); if y6<=30 then g:=g*(-1); end; end; procedure TForm1.Start1Click(Sender: TObject); begin timer1.enabled:=true; end; end. |
Re: Pong Spiel - Ball bewegt sich nicht
Hi,
es scheint so, als ob Du nirgendwo die Variablen f und g änderst, die für die Beschleunigung da sind. |
Re: Pong Spiel - Ball bewegt sich nicht
Aha das wusste ich nicht. Und wie könnte ich das machen mit f nd g?
Ändere ich hier nur de Richtung?
Delphi-Quellcode:
if x5>=570 then f:=f*(-1);
if y5>=370 then g:=g*(-1); if x6<=30 then f:=f*(-1); if y6<=30 then g:=g*(-1); |
Re: Pong Spiel - Ball bewegt sich nicht
ja da änderst du nur die Richtung.. Du hast den Quellcode doch selbst geschrieben oder nicht? Dann musst du doch wissen was du da schreibst ? :gruebel:
|
Re: Pong Spiel - Ball bewegt sich nicht
Na das ich die Richtung ändere,dass weiß ich ja, aber ich weiß nicht wie ich die Variablen f und g verändern soll wie Die Muhkuh geschrieben hat? Das ist ja eigentlich meine Frage.
|
Re: Pong Spiel - Ball bewegt sich nicht
Du musst eigentlich nur f und g irgendwann setzen. Im FormCreate z.B oder so.. Je nachdem halt...
f=1 g=1 würde dann bedeuten das der Ball jedes mal wenn der Timer ausgeführt wird ein Feld nach rechts und ein Feld nach unten verschoben wird... Gruß Neutral General |
Re: Pong Spiel - Ball bewegt sich nicht
Ich habe f und g =5 gesetzt, aber der ball ist immer noch standhaft.
Ich werde dann morgen in der Schule wohl nochmal gucken müssen, aber trotzdem vielen Dank! |
Re: Pong Spiel - Ball bewegt sich nicht
Und du hast den Start-Button auch betätigt? (man kann ja nie wissen^^)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz