Explosion im Scroller...
Verfasst: 27.11.2023 10:33
Guten Morgen in die Runde!
Man hat den Eindruck, daß es hier zunehmend ruhig im Forum wird... daher mal eine Frage in die Runde bezüglich eines Problemes, was ich schon bei Battle of Eris hatte:
Bei einem Scroller (Shooter) im z.B. Antic 4 Modus habe ich Aliens über Charakter dargestellt. Ich nehme z.B. Zeichen Nr. 7 und ändere es entsprechend - vielleicht wird es noch animiert.
Nun wird dieses Alien abgeschossen und explodiert. Während der Explosionsphasen bewegt sich der Scroller weiter, die Explosion geht entsprechend der Gesamtbewegung mit, die einzelnen Explosionsphasen werden entsprechend eingeschrieben und am Ende ist an der Stelle ein Loch / Blank.
Das Problem ist nun folgendes:
Ich kann die Explosionsphasen nicht in den Charakter Nr.7 einspeichern, da sich ja dann alle 7 er zugleich ändern würden.
Ich muss also an die Stelle des getroffenen Nr. 7 einen anderen Charakter an die gleiche Stelle einspeichern - z.B. Nr 1 - dieses Charakter hat die animierte Explosion. Wenn ich nun aber Carakter 1 so baue, daß es ständig eine Explosionsanimation durchläuft, dann hört die Explosion ja an dieser Stelle nie auf - im besten Fall scrollt es einfach aus dem sichtbaren Bildschirm raus (übrigens sieht man dieses Problem identisch bei Caverns of Mars 1 - später hat der Programmierer das Problem dann gelöst).
Ich müsste also relativ aufwendig mir alle Positionen der getroffenen Aliens merken und nach der fertig abgelaufenen Explosion an diese Stelle ein Blank reinprinten.
Noch aufwendiger wird es dann, wenn das Alien (wie in den meisten Fällen) aus mehreren Charaktern zusammengesetzt ist, dann muss man genau bestimmen, wo getroffen worden ist und die ganze Explosionsanimation dann an der richtigen Position starten.
Über dieses Problem habe ich bei BoE wochenlang gegrübelt und es dann aufwendig so gelöst, daß das gesamte Scrolling während der Explosionsphase - also in der Explosionsroutine einfach von dort mitläuft (aufgerufen wird).
Aber das muss doch irgendwie einfacher gehen.... hat da irgendjemand Erfahrung oder eine erleuchtende Idee???
Liebe Grüße
Peter
Man hat den Eindruck, daß es hier zunehmend ruhig im Forum wird... daher mal eine Frage in die Runde bezüglich eines Problemes, was ich schon bei Battle of Eris hatte:
Bei einem Scroller (Shooter) im z.B. Antic 4 Modus habe ich Aliens über Charakter dargestellt. Ich nehme z.B. Zeichen Nr. 7 und ändere es entsprechend - vielleicht wird es noch animiert.
Nun wird dieses Alien abgeschossen und explodiert. Während der Explosionsphasen bewegt sich der Scroller weiter, die Explosion geht entsprechend der Gesamtbewegung mit, die einzelnen Explosionsphasen werden entsprechend eingeschrieben und am Ende ist an der Stelle ein Loch / Blank.
Das Problem ist nun folgendes:
Ich kann die Explosionsphasen nicht in den Charakter Nr.7 einspeichern, da sich ja dann alle 7 er zugleich ändern würden.
Ich muss also an die Stelle des getroffenen Nr. 7 einen anderen Charakter an die gleiche Stelle einspeichern - z.B. Nr 1 - dieses Charakter hat die animierte Explosion. Wenn ich nun aber Carakter 1 so baue, daß es ständig eine Explosionsanimation durchläuft, dann hört die Explosion ja an dieser Stelle nie auf - im besten Fall scrollt es einfach aus dem sichtbaren Bildschirm raus (übrigens sieht man dieses Problem identisch bei Caverns of Mars 1 - später hat der Programmierer das Problem dann gelöst).
Ich müsste also relativ aufwendig mir alle Positionen der getroffenen Aliens merken und nach der fertig abgelaufenen Explosion an diese Stelle ein Blank reinprinten.
Noch aufwendiger wird es dann, wenn das Alien (wie in den meisten Fällen) aus mehreren Charaktern zusammengesetzt ist, dann muss man genau bestimmen, wo getroffen worden ist und die ganze Explosionsanimation dann an der richtigen Position starten.
Über dieses Problem habe ich bei BoE wochenlang gegrübelt und es dann aufwendig so gelöst, daß das gesamte Scrolling während der Explosionsphase - also in der Explosionsroutine einfach von dort mitläuft (aufgerufen wird).
Aber das muss doch irgendwie einfacher gehen.... hat da irgendjemand Erfahrung oder eine erleuchtende Idee???
Liebe Grüße
Peter