möchte nen kleines spiel(Pong) programmieren und benutze für die bewegung des Balls nen DXTimer, damit der Ball schneller ist. An sich läuft alles ohne Probleme, aber wenn ich dann im Spiel die Maus bewege, wird der Ball aufeinmal schneller, obwohl ich kein ereignis für onmousemove gesetzt hab. dürfte also eigentlich nicht sein.
liegt das jetzt am dxtimer selbst oder doch am code?
hier mal der code vom timer:
Code:
procedure TForm1.DXTimerBallTimer(Sender: TObject; LagCount: Integer);
begin
durchlauf:=durchlauf+1;
if durchlauf=1000 then //ball bewegung erst nach 1000 durchläufen, da interval auf 0
begin
if image3.top<=2 then //kollision oben
bally:=bally*(-1); //ball nach unten
if image3.top+20>=430 then //kollision unten
bally:=bally*(-1); //ball nach oben
if (image3.left=image1.left)and(image3.top+20>=image1.top)and(image3.top<=image1.top+64) then //kollision mit player 1
ballx:=ballx*(-1); //ball nach rechts
if (image3.left+20=image2.left)and(image3.top+20>=image2.top)and(image3.top<=image2.top+64)then //kollision mit player 2
ballx:=ballx*(-1); //ball nach links
if (image1.top=image3.top+20)and(image1.left<=image3.left+40)and(image1.left>=image3.left)then //kollision mit player 1
bally:=-1; //ball nach oben
if (image1.top+64=image3.top)and(image1.left<=image3.left+40)and(image1.left>=image3.left)then //kollision mit player 1
bally:=1; //ball nach unten
if (image2.top=image3.top+20)and(image2.left<=image3.left+40)and(image2.left>=image3.left)then //kollision mit player 2
bally:=-1; //ball nach oben
if (image2.top+64=image3.top)and(image2.left<=image3.left+40)and(image2.left>=image3.left)then //kollision mit player 2
bally:=1; //ball nach unten