AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mit canvas gezeichnetes "verschwinden" lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Mit canvas gezeichnetes "verschwinden" lassen

Ein Thema von schrimm · begonnen am 5. Apr 2007 · letzter Beitrag vom 24. Jun 2007
Antwort Antwort
schrimm
(Gast)

n/a Beiträge
 
#1

Mit canvas gezeichnetes "verschwinden" lassen

  Alt 5. Apr 2007, 22:17
Ich probiere gerade eine Lebensanzeige für ein Spiel mit convas zu erzeugen.
ein Balken, der bei weniger Leben kleiner wird.
DAs mit dem Zeichnen habe ich auch geschafft, es teichnet je nach LP das Teil entsprechend lang
das Prob: das was es vorher gezeichnet hat ist noch sichtbar, kann man irgendwie das (es ist ein image) wieder komlett transparent machen, bevor es das neue malt?
mit cldefault das ganze ausfüllen, da wird es schwarz


[edit=Matze]Tippfehler im Titel korrigiert, damit das Thema leichter über die Suche auffindbar ist. MfG, Matze[/edit]
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 5. Apr 2007, 22:20
Hallo,

da mußt du schon vorher den Untergrund also deine "Spielfläche" ablegen, bei neu zeichnen zuerst alte spielfläche wiederherstellen und Balken neu Zeichnen. Natürlich kannst du dazu auch nur einen Teil deines Bildes ablegen und später wiederherstellen z.B. den Bereich deines Balkens.
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#3

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 5. Apr 2007, 22:21
Nimm ein temporäres Bitmap, in das du zeichnest, statt direkt auf das sichtbare Bitmap. Das tempBitmap leerst du vor jedem neuzeichnen mit .Assign (nil) (.Width und .Height musst du dann auch wieder neu setzen) und übergibst es nach dem Zeichnen dem sichtbaren Bitmap per .Assign (tempBitmap);

So wird das auch bei Spielen gemacht. Die ganze Szene wird erst in einen virtuellen Bildschirm gezeichnet / gerendert und dann einfach getauscht.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 5. Apr 2007, 22:28
Hi,

bei meinem Tip ging ich davon aus das schrimm das zu zeichnende Pic zuerst im Speicher anfertigt, bevor er es darstellt. Trotzdem ist es meines erachtens einfacher einzelne Teile des Temppics einzeln nur auszutauschen als alles komplett neu aufzubauen, kommt natürlich immer auch auf die Art des Spiels drauf an, welchen Weg man geht.
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
schrimm
(Gast)

n/a Beiträge
 
#5

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 5. Apr 2007, 22:46
Na ok, ich habe jetzt einfach die Hindergrundfarbe jedes mal drüber gemalt, ehe ichd as neue male.
Ich hatte gehofft, es gibt einen befehl, wo mit man alle in diesem objekt gezeichneten convas löschen kann
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#6

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 5. Apr 2007, 22:52
Drübermalen kann einen Flackereffekt zur Folge haben. Selbst wenn's bei dir nicht flackern sollte, auf einem anderen Rechner kann das schonwieder anders ausschauen oder bei dir anfangen, wenn du viele Objekte auf dem Bild zeichnest. Deswegen ist erstmal virtuell zeichnen und dann austauschen die saubere Lösung. Und btw: Es heisst Canvas, nicht Convas.
  Mit Zitat antworten Zitat
Lifthrasir

Registriert seit: 8. Nov 2006
Ort: Schwerin
64 Beiträge
 
Delphi 7 Personal
 
#7

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 6. Apr 2007, 10:34
also wenn er nur per canvas zeichnet reicht es das TFormzu refreshen
 z.b. Form1.refresh; dabei werden alerdings alle canvas'Objecte' gelöscht. Evtl. über 'n Timer in gesunden Intervallen refreshen und nach internen Zahlenangaben neu zeichnen lassen?!

Hoff ich konnt helfen
---
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Mit convas gezeichnetes "verschwinden" lassen

  Alt 24. Jun 2007, 15:48
entscheide dich doch für ne backgr-farbe in dem balken und anstatt den balken zu verkleinern einfach den hintergrund vergrößern, z.B. Schwarz
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  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 07:21 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