PP-Event 1: Heldensteuerung
Dieses Event beinhaltet die Mausabfrage und die Anzeige des Helden. Je nach Einstellung Waits von 1x / 2x und 4x 0,0 Sekunden. Hierbei darf das Wait nicht zu hoch werden, da sonst das Heldenschiff nur durch die Gegend ruckelt. Dabei hast du mich allerdings auf ne Idee gebracht. Ich glaube ich gliedere das auch nochmal aus und lasse das Heldenpicture wirklich nur neu anzeigen wenn sich dieser auch bewegt hat... Weiß zwar nicht wie viel das bringt, aber mal schaun
PP-Event 2: Aktionsabfrage
In diesem Event wird wieder über den Key-Patch abgefragt ob eine Maustaste gedrückt wurde. Wenn ja passiert die entsprechende Handlung. Wenn die linke Maustaste gedrückt wurde wird zuerst das CE Schussregister gecallt, damit der entsprechende Schuss seine Werte erhält (Größe, Startposition, Schaden, Geschwindigkeit, etc.) und ein Call des CEs Soundregister angeschlossen. Damit hat der Schuss seine Werte erhalten.
Nur ein Wait von 0,0, da man sonst nicht richtig einzeln schießen könnte (ist jetzt schon schwer genug). Zu seltene Abfrage würde nur noch Dauerfeuer ermöglichen. Nach einem Schuss wird allerdings 0,1 Sekunde + die 0,0 Sekunden gewartet.
PP-Event 3: Levelmanager:
Dieser erschafft der Reihe nach die Gegner und gibt diesen über entsprechende CEs ihre Werte. Das sind immer nur wenige Codezeilen, danach ein Wait bis zum nächsten Gegner (Durchschnittlich 1 Sekunde). Sind alle Gegner gespawnt wird abgefragt ob diese entweder den Bildschirm verlassen haben oder zerstört wurden. Wenn dies bei allen der Fall ist beginnt die nächste Angriffswelle. Zwischen jeder Abfrage ein Wait von einer Sekunde.
PP-Event 4: Gegner 1
Der Gegner 1 hat genau wie die Heldbewegung, je nach Einstellung ein, zwei oder vier 0,0 Wait. Dabei ist dieses Event jenes, welches die Call-Reihe in Gang setzt. Jene ist wie folgt:
Zitat
Gegner 1 - Gegner 1 Schussabfrage - Gegner 1 Schussbewegung - Gegner 2 - Gegner 2 Schussabfrage - Gegner 2 Schussbewegung - Gegner 3 - ... - Gegner 5 Schussbewegung - Held Schussbewegung - Kollisionsabfrage Gegner - Kollisionsabfrage Held
...
Das größte Problem wo ich wahrscheinlich auch nochmal neu skripten muss sind die Kollisionsabfragen. Dort muss ich 3 Dinge berechnen:
1) Befindet sich die Helden-Hitbox innerhalb der eines der 5 Gegner?
2) Befindet sich eine der 5 Heldenschuss-Hitboxen innerhalb eines der 5 Gegner?
3) Befindet sich eine der 5 Gegnerschuss-Hitboxen innerhalb des Helden?
Gerade bei Punkt 2 wird es Problematisch. Da jeder Schuss und jeder Gegner eigene Größen und Schaden wie Energie haben muss ich das einzeln durchgehen, also:
- Schuss 1 auf Gegner 1?
- Schuss 2 auf Gegner 1?
- Schuss 3 auf Gegner 1?
- Schuss 4 auf Gegner 1?
- Schuss 5 auf Gegner 1?
- Schuss 1 auf Gegner 2?
- ...
Sprich: 25 Abfragen allein für die Schüsse. Dabei geht damit einher das jeweils der Schaden berechnet wird. Die größe der Abfrage kommt aber erst dadurch zustande das 4 Schussarten die Schilde durchdringen, die restlichen nicht, wobei wieder eine den Schaden an den Urheber des Schusses überträgt (also Energie überträgt). Auch das muss für jeden Schuss überprüft werden...
Damit kommt man recht schnell auf hohe Rechenansprüche...
Was ich aber, wie beim Helden, noch ändern kann ist die Anzeige der Gegner. Momentan mache ich es noch so das das entsprechende Gegnerpicture mit jedem Durchlauf neu angezeigt und danach bewegt wird. Das könnte ich noch ändern. Selbstverständlich ist natürlich, dass die Gegnerabfragen nur dann durchlaufen werden wenn auch ein Gegner da ist, bzw. die "Schussbewegung" nur durchgeführt wird wenn der entsprechende Schuss unterwegs ist...