Bild animieren oda so
-
ein freund und ich machen ein spiel aba wir ham n kleines problem.
Wir haben Bilder von einen maxl das rennen soll nur weiss ich nicht wie man ein bild alle Left-10 austauscht.
Wie geht so was?
Die bilder heissen 1.bmp,2.bmp,3.bmp,4.bmp
Ich benutz Borland C++ Builder.
Zum verständniss hier ein bild:
http://img217.imageshack.us/img217/7681/projns1.png
-
Hi!
Alle Bilder laden, registrieren (falls nötig, z.B. bei OpenGL) und bei jeder Renderiteration die Framenummer inkrementieren (ggf in abhängigkeit von einem Timer).
grüße
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Was ist ein maxl?
Was ist Left-10??
-
Stryke, ein paar genauere Informationen würden helfen.
Aber einfach mal ins Blaue geraten: ihr schafft für den Willi am besten einen Array aus Graphics::TBitmap - Objekten, etwaGraphics::TBitmap* WilliBild[4];Dann ladet ihr in jedes WilliBild die Bitmap-Daten des entsprechenden Frames, etwa (in einer Schleife mit i von 0..3):
WilliBild[i]->LoadFromFile((AnsiString)i + (AnsiString)".bmp");Bei der Animation eurer Figur merkt ihr euch den Index des verwendeten Frames, und erhöht den alle paar Schritte / Sekunden um eins. Jedesmal, wenn ihr mit Draw(...) die Figur zeichnet, bezieht ihr euch auf WilliBild[index].
Hilft das für den Anfang?
-
Würde da eher eine TImageList nehmen
-
ich meine es so:
Eine figur(.bmp) steht auf der rechten seite des programmfensters.
Es läuft nach links(zur waffe die vom spieler gesteuert wird).
Wenn die figur links angekommen ist(Left=0) hat man das spiel verloren.
Man muss verhindern das es zu einen kommt indem man es erschiesst.
Ich weiss nicht wie man das bild ausstauscht damit es aussieht als würde es rennen.
-
Hallo
Du must doch wegen der Bewegung sowieso "das Bild" zeitabhängig immer an einen anderen Ort bewegen/zeichnen. Dann sollte es doch kein Problem sein, je nach Durchlauf nicht immer dasselbe Bild anzuzeigen, sondern das nächste aus einer TImageList zu nehmen. Dazu must du dir natürlich merken, in welcher Phase sich die Spielfigur gerade befindet, wieviele Phasen es bis zur Wiederholung gibt und wielange eine Phase dauern soll.
bisbald
akari
-
Ich kenn mich mit da imgList nicht aus kann sein das ich dann noch hilfe brauche.
ps: Ich bin ein anfänger
-
Hallo
das Prinzip habe ich dir bereist beschrieben. In der BCB-Hilfe findest du alle Eigenschaften und Methoden der TImageList beschrieben. Für konkrete Fragen bekommst du hier auch wieder konkrete Antworten.
bis bald
akari