Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Animation aus einzelnen bmp's (https://www.delphipraxis.net/119772-animation-aus-einzelnen-bmps.html)

buster55 31. Aug 2008 13:21


Animation aus einzelnen bmp's
 
da anscheinend niemand auf mein gif Problem (siehe hier: Klick) eine Lösung weiß, muss ich nun auf eine andere Möglichkeit zurückgreifen, Tanimation (mit avi files) ist für meine zwecke zu aufwändig.
Mein Ziel:
Eine Animation die aus 4 einzelnen bmp. Dateien besteht und wärend sie abgespielt wird ohne Darstellungsfehler mit einem Timer bewegt werden kann. Gut wäre es auch wenn die Schnelligkeit, also die Zeit zwischen dem Bitmapwechsel, bestimmt werden könnte.

Ideen?

Weazy 31. Aug 2008 13:27

Re: Animation aus einzelnen bmp's
 
Da gibts doch x beliebige kompos. Schau mal auf hier. Alternative:
- speichere deine Bitmaps in eine TImageList
- erstelle einen Timer mit dem intervall in dem die Bidler gewechselt werden sollen
- bei jedem onTimer event erhöhst du den Tag vom timer um 1, wenn der tag=4 ist setzt du ihn auf 0 und mit ImageList.Draw kansst du dann das ImageItem¨mit dem Timer Tag auf deinen Form canvas Zeichnen
- damit es nicht flackert noch Form.DoubbleBuffered:=True setzenund fertig 8)

buster55 31. Aug 2008 14:19

Re: Animation aus einzelnen bmp's
 
ok danke schon mal, werds abarbeiten

buster55 31. Aug 2008 14:37

Re: Animation aus einzelnen bmp's
 
ok weazy kann dir so weit folgen, nur wie zeiche ich nun das bild?
wie spreche ich es an?

Weazy 31. Aug 2008 14:54

Re: Animation aus einzelnen bmp's
 
sollte etwa so gehen:

imageList.Draw(Form1.Canvas,x,y,Timer.Tag,True);

bei x und y setzt du einfach deine Position ein und anstatt Form1.Canvas kannsts du eine beliebigen Canvas eingeben.

Hoffe das hilft...

buster55 31. Aug 2008 15:04

Re: Animation aus einzelnen bmp's
 
danke, soweit hab ichs verstanden werds versuchen

buster55 31. Aug 2008 15:17

Re: Animation aus einzelnen bmp's
 
das funktionert schonmal nur lbeibt beim wechsel der bmps immer der rest des letzten bmps übrig,
muss man das irgendwie repainten?

Weazy 31. Aug 2008 15:40

Re: Animation aus einzelnen bmp's
 
ja habe ich vergessen, sollte sowas wie form1.Canvas.clear sein oder so, weiss nicht mehr genau...

buster55 31. Aug 2008 15:48

Re: Animation aus einzelnen bmp's
 
aber die funktion clear gibts nicht :(
achja wie bewegt man das ganze dann?

Weazy 31. Aug 2008 19:00

Re: Animation aus einzelnen bmp's
 
das mit dem canvas.clear weiss ich nicht mehr genau, musste halt googeln. Bewegen kannst du das indem du die Position x und y laufend änderst, kommt halt darauf an wie du die animation bewegen willst...

Garfield 31. Aug 2008 20:40

Re: Animation aus einzelnen bmp's
 
Eventuell Canvas.Assign(nil).

buster55 1. Sep 2008 14:19

Re: Animation aus einzelnen bmp's
 
das führt zu ner exception :(

angos 1. Sep 2008 14:45

Re: Animation aus einzelnen bmp's
 
Form1.Refresh; ist was du suchst

Einfach als erstes im Timer ausführen, danach neu zeichnen

oneP 1. Jun 2009 21:27

Re: Animation aus einzelnen bmp's
 
Es gibt doch aber auch ne Möglichkeit BMPs ohne einen Timer zu animieren. Doch leider weiß ich auch nicht wie das geht. Würde es selbst mal gern wissen.
Vielleicht weiß hier irgend jemand wie man die herstellt und ins Projekt einbindet?

mkinzler 1. Jun 2009 21:36

Re: Animation aus einzelnen bmp's
 
Als animated Gif, MJPEG oder MNG

Namenloser 1. Jun 2009 22:46

Re: Animation aus einzelnen bmp's
 
Wenn es um ein Spiel geht, zählt man den ImageIndex normalerweise in der Hauptschleife hoch (oder einen Zeitwert, aus dem dann hinterher das Bild berechnet wird).


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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