AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Problem mit Ballbewegung (Anfänger)
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Ballbewegung (Anfänger)

Ein Thema von Halbgard · begonnen am 6. Sep 2008 · letzter Beitrag vom 7. Sep 2008
Antwort Antwort
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#1

Re: Problem mit Ballbewegung (Anfänger)

  Alt 6. Sep 2008, 12:08
AAAlso .. das mit dem Canvas der Form mag funktionieren, gut ist das aber nicht.

Eine gute Lösung ist folgendes:

1. Nimm eine Paintbox und tu sie aufs form - das ist deine Zeichenfläche

2. Deklariere im private-Bereich deines Form ein Bitmap: TBitmap;

3. Im OnCreate: Bitmap erstellen, und auf die Größe der Paintbox setzen, im OnDestroy zerstören

4. Im OnPaint der Paintbox ein Hier im Forum suchenBitblt vom Bitmap auf das Canvas der Paintbox.

5. Eine "Spielschleife" wie folgt:
Delphi-Quellcode:
procedure Form1.GameLoop()
var
  dt, lastt: Cardinal;
begin
  dt = 0;
  lastt = Gettickcount();

  while (not Application.Terminated)
  begin
    dt = Gettickcount() - lastt;
    lastt = lastt + dt;

    for each obcect in Objectlist do
      Object.anzeigen(Bitmap, dt);
    Paintbox.Refresh(dt);
    Bitmap.Clear();
    Application.Processmessages;
  end;
end;
So ähnlich zumindest - ist jetzt Pseudocode (Ist jetzt etwas Quick and Dirty)

Wenn du es richtig gut machen möchtestm, solltest du die Sxchlefe in einen Thread auslagern

6. Die Prozedur .anzeigen deines Balls muss dann in Abhängigkeit der Zeitdifferenz sich auf das übergebene Bitmap malen. Objects sind deine Objekte
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:23 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