Einzelnen Beitrag anzeigen

won

Registriert seit: 25. Aug 2003
Ort: Gutach (Breisgau)
8 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Fußball Pong plz Help ich kann net mehr ;-)

  Alt 19. Mai 2005, 23:53
Hallo, der Ball wird sehr wohl erstellt, blos leider hinter deinen Panels, das heißt du siehst ihn nicht.
Ich würde dir raten den Ball nicht als TBitmap zu laden sondern in einer normalen Image Komponente.

Das mit den Wänden stimmt auch noch nicht so ganz, da der Ball ja an den "Panelwänden" und nicht an den
Fensterwänden abprallen soll, also musst du die Panel Werte verwenden und nicht ClientHeight/Width.
Ausserdem gehören die Zuweisungen wohl eher in das "FormCreate" Event.

Ich habe hier mal deine Version etwas abgeändert (wie oben beschrieben) und das Programm funktioniert ja so
Ansatzweise auch schon:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel2: TPanel;
    Timer1: TTimer;
    Panel1: TPanel;
    Keeper: TImage;
    Image1: TImage;
    ImageBall: TImage;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public

  end;

var
  Form1: TForm1;
  posx,posy,speedx,speedy,breite,hoehe:Integer;
implementation

{$R *.DFM}


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin


//Torwartbewegung Hoch-Runter
If Key=vk_down then Keeper.Top:=Keeper.Top+5;
If Key=vk_up then Keeper.Top:=Keeper.Top-5;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Aprallen von Wänden
if posy >= hoehe-60 then speedy:= - speedy ;
if posy <= -40 then speedy:= - speedy ;

//Ball
ImageBall.Top:=posy+30;
ImageBall.Left:=posx+30;


//Bewegung
posx:= posx + speedx;
posy:= posy + speedy;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

breite:=Panel1.Width;
hoehe:=Panel1.Height;

//Ball create
ImageBall.Picture.LoadFromFile('ball1.bmp');

//Geschwindigkeit des Balls

speedx:=2;
speedy:=2;
end;
End.
Angehängte Dateien
Dateityp: rar prog_fixed_520.rar (650,3 KB, 24x aufgerufen)
Jonas
  Mit Zitat antworten Zitat