AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi ballbewegung in breakout spiel
Thema durchsuchen
Ansicht
Themen-Optionen

ballbewegung in breakout spiel

Ein Thema von Ricoo · begonnen am 17. Jun 2008 · letzter Beitrag vom 1. Jul 2008
 
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#12

Re: ballbewegung in breakout spiel

  Alt 23. Jun 2008, 22:49
Ich habe das jetzt bei mir so gelöst:
Delphi-Quellcode:
var
  px,py:Integer;
begin
  if BallMove then begin
    if b_t +1 >=20 then begin
      b_t:=0;

      if Hori = cLeft then
        px:=Ball.Left-p_Hori.x
      else
        px:=Ball.Left+p_Hori.x;

      if Verti = cDown then
        py:=Ball.top+P_Verti.y
      else
        py:=Ball.top-P_Verti.y;

      if Engine.SpriteManger.N_Collision(px,py,ball,false,false) <> NIL then begin
        Hori:=not Hori;
        Verti:=not Verti;
        P_Verti:=Point(0,random(10)+1);
        p_Hori:=Point(random(10)+1,0);
        if Hori = cLeft then
          px:=Ball.Left-p_Hori.x
        else
          px:=Ball.Left+p_Hori.x;

        if Verti = cDown then
          py:=Ball.top+P_Verti.y
        else
          py:=Ball.top-P_Verti.y;
      end;

      ball.Left:=px; ball.Top:=py;
      ball.DrawSprite;
    end
    else
      inc(b_t);
  end;
Dieser Code wird in einem Timer ausgeführt. Darum habe ich eine zeitschleife verwendet.
Das Prinzip klappt eigentlich recht gut. Es sind Integer zahlen. Das reicht. Der ball fliegt jetzt nicht mehr vorhersehbar. Bei allen anderen BreakOut Varianten die ich erstellt habe, flog der ball eigentlich immer vorhersehbar
p_Hori. und p_Verti sind im Moment TPoints, aber ich glaube das ändere ich noch in Integer.
(Ich nutzte meine eigene Engine, hier und nicht die Andorra)
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 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