Ein Bild: Mehrere schüsse auf dem Bilschirm?
Übersicht

FruscianteBetreff: Ein Bild: Mehrere schüsse auf dem Bilschirm? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich bin unendlich froh das ich es geschaft habe ein Raumschiff auf den Bildschirm zu bringen das einen Schuss abfeuern kann, ohne Hilfe ![]() Aber leider immer nur einen. Erst wenn der den Bildschirm verlassen hat kann ein neuer Schuss abgefeuert werden. Jetzt meine Frage: Ist es möglich ein Bild nur einmal in den Speicher zu laden und es öffters auf dem Bildschrim auszugeben? Oder muss ich für jeden Schuss ein neues Bild laden und es unabhängig vom ersten Schuss auf den Bildschirm bringen? mfg Frusciante² |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Du kannst ein einziges geladenes Bild natürlich beliebig oft auf den Bildschirm malen. Du musst Dir dieses Bild wie eine Art Stempel vorstellen. Du hast diesen einen Stempel mit Deinem Bild, und jeder Aufruf von DrawImage stempelt das Bild auf die ausgewählte Zeichenfläche (Buffer). Dies kannst Du natürlich so oft tun wie Du möchtest, bevor Du das Bild dem Spieler zeigst (flip). Dein Stempel (Image) verbraucht sich dabei nicht! ![]() Also in der Praxis sieht das dann zb. so aus:BlitzBasic: [AUSKLAPPEN] bild = LoadImage(\"bildname.bmp\") Das Problem für Deinen nur einen Schuss liegt aber nicht darin, wie oft Du ein Bild zeichnen kannst, sondern das Du weisst, wie oft Du dieses Bild zeichnen musst (Anzahl zur Zeit sichtbarer Geschosse) und an welche Positionen (die Positionen der Geschosse). Um dieses Problem zu lösen, solltest Du unbedingt mal einen Blick auf den Type-Befhel werfen! Die meisten Anfänger scheuen zwar die Komplexität einer Type-Konstruktion und suchen sich andere Alternativen (zb. mit Arrays oder Dims), aber ich glaube, es bringt nur Vorteile, wenn Du Dir gar nicht erst so eine verkorste Alternative angewähnst! Kleines Einstiegsbeispiel:BlitzBasic: [AUSKLAPPEN] Graphics Graphics 640, 480, 16 Objekte sind toll! 8) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group