title image


Smiley Re: Animation in Delphi 3 ?????
Hi,ich weiss net, ob ich es einfach erklären kann, aber ich versuch's:Um eine Animation zu programmieren brauchst du von deinem Mänchen mehrere Bilder als Folge (z.B. bild1.bmp, bild2.bmp...), und zwar muss der Hintergrund SCHWARZ sein und natürlich das Männchen darauf in Farbe ;).Von den Bildern erzeugst du am besten mit einem Zeichenprogramm jeweils eine Maske (bild1a.bmp, bild2a.bmp...), und zwar muss der SCHWARZE Bereich aus dem Bild auf der entspr. Maske WEISS sein und alle Anderen Pixel müssen SCHWARZ sein. Natürlich kannst du auch eine Routine schreiben, die dir die Masken "errechnet"...Das Animieren sollte dann so funktionieren:0. Lade alle Bilder am Besten in TImages (oder TBitmaps):Bild1.bmp -> Image1Bild1a.bmp -> Image2Bild2.bmp -> Image3Bild2a.bmp -> Image4...1. Du sicherst den Bereich (dein Hintergrund) auf dem du dein Männchen darstellen willst in ein Puffer (z.B. Image0)2. Du kopierst dann Image2 (also die MASKE) auf dein Canvas, und zwar sollen die Pixel der Quelle und des Ziels mittels UND verknüpft werden (CopyMode:=cmSrcAnd): damit erreichst du, dass auf deinem Hintergrund ein "schwarzes Loch" entsteht, in dem dann dein Männchen später erscheinen soll.3. Nun kopierst du das eigentliche Bild (Image 1) auf dein Canvas mit der CopyMode:=cmSrcPaint (ODER-Verknüpfung) -> somit werden die schwarzen Pixel des Hintergrundes weggelassen und nur die bunten Pixel des Männchens auf das "schwarze Loch" (s.o) kopiert.4. Warte ein wenig bzw. tue etwas in deiner Anwendung, sonst läuft dein Männchen zu schnell5. Nun musst du deinen Hintergrund wieder Herstellen: das dürfte kein Problem sein, da du es schon gesichert hast in Image0 -> einfach draufkopieren.6. Die X-Koordinate deines Männchens erhöhen (z.B. 10 Pixel)7. Wieder bei Punkt 1 anfangen (mit den neuen Koordinaten) und dann natürlich immer das nächste Bild aus deiner Folge nehmen (Maske: Image4 und dann Bild: Image3).So das war's auch... Gruß OsmanPS: Ich hoffe das Funktioniert, denn ich bin bei der Arbeit und habe das so aus dem Bauch heraus geschrieben :)PPS: Ich habe dir auch eine Komponente rausgesucht, wenn dir das ganze zu kompliziert erscheinen sollte (natürlich nicht so flexibel, aber...):http://mypage.uniserve.ca/~hg_soft/sprites.zip

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: