AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Canvas Bewegen (schnee programm)
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas Bewegen (schnee programm)

Ein Thema von hedie · begonnen am 2. Jan 2008 · letzter Beitrag vom 4. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#11

Re: Canvas Bewegen (schnee programm)

  Alt 4. Jan 2008, 12:03
Danke

Ist eine interessante Seite
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
mimi

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

Re: Canvas Bewegen (schnee programm)

  Alt 4. Jan 2008, 14:06
Das Prinzip ist ganz einfach:
Jede Schnee Flocke ist ein Object was sich seinen Hintergrund merkt wo es drauf gezeichnet wurde.
Beim Neu Zeichnen stellst du den hintergrund wieder her und zeichnest deine neue Position.

Allerdings gibt es hier ein kleines Problem wenn sich mehrer Objekte überlagern kommt es zu Grafik Fehlern.

Bei meiner 2D Engine habe ich das so gelöst:
Wie oben beschrieben aber bevor ich neu zeichne wird ein event ausgelöst was an die Engine geht.
die wieder rum veranlasst das jetzt in jedem Spritemanger jeder Sprite der in den geänderten Bereich passt neu gezeichnet wird. So umgehst du die Grafik Fehler und du musst nicht ständig deine flocke neu zeichnen bzw. dein Hintergrund Bild.

Da aber der Schnee Fallen soll könntest du auch so vorgehen:
Du packst einmal dein hintergrund in einem Bitmap dann hast du einen Buffer
jetzt kopierst du mit Bitbtl oder Draw den Hintergrund in den Buffer und zeichnest einfach deine Flocken an der neuen Position. Dazu müsstest du aber ein Array anlegen wo alle Flocken drin sind.

Diese Weg führt aber mit Sicherheit zu 100% CPU Last beim ersten weg hängt das von den Stellen ab wie oft neu gezeichnet wird.

Mit der Engine würde das Prima gehen ist allerdings für Lazarus geschrieben, aber mit wenigen Änderungen sollte auch unter Delphi laufen. evlt. lade ich sie mal hoch wenn ich sie dafür vorbereitet habe.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz