Hallo miteinander!
Ich arbeite derzeit an einem 2D-Spiel (vom Aufbau ähnlich einem Platformer wie 'Super Mario') in welchem man Strichmännchen spawnen kann, welche automatisch mit Objekten in der Umgebung interagieren etc.
Wird das Strichmännchen mit der Pistole ausgerüstet, verwandelt es sich in das Objekt "HUM_PISTOL" (Also das Strichmännchen bloß mit ner Knarre und einer Munitionsanzahl von '8'.
Dieses Objekt soll - wenn das Objekt "ZOMBIE" auf selber Y-Höhe ist (also relativ: 0) und bis zu einem Abstand von 400 (X-Achse) entfernt - mit der Chance von 1-30 einen Pistolenschuss abgeben. Dabei soll auch beachtet werden: Hat das Objekt "HUM_PISTOL" gerade den Sprite "hum_pistol_go_r" oder "hum_pistol_stand_r", soll das Objekt "BULLET" nach rechts fliegen. Hat "HUM_PISTOL" hingegen gerade den Sprite "hum_pistol_go_l" oder "hum_pistol_stand_l", soll das Objekt BULLET nach links fliegen. In beiden Fällen mit einer Geschwindigkeit von 12.
Nun zu den eigentlichen 'Problemen':
1.) Momentan bin ich so weit, dass das Objekt "HUM_PISTOL" erkennt, ob der Zombie in der Nähe ist. Es führt auch die Feuer-Anweisung aus etc, nur da ich 'distance_to_object(ZOMBIE)' verwende (nehm ich mal an), feuert das Objekt "HUM_PISTOL" auch dann, wenn der Zombie in Wirklichkeit ein Stockwerk weiter oben ist. Gibt es eine Alternative dazu oder muss man dazu noch etwas hinzufügen, damit er auch bloß dann feuert, wenn der Zombie auf gleicher Höhe ist wie das Objekt "HUM_PISTOL" ?
2.) Dummerweise feuert mein Strichmännchen auch dann nach rechts, wenn der Sprite des Objektes nach links zeigt. Dabei (D&D) lautet die Anweisung:
if sprite_index is equal to hum_pistol_stand_l
with a chance of 1 out of 30 do perform the next action
create instance of object BULLET_PISTOL at relative position (0,0) with speed -12 in direction 0
Muss dort noch ein Parameter gesetzt werden, damit das Objekt tatsächlich die Geschwindigkeit von -12 annimmt?
Ich danke für jede Antwort zu egal welchem der zwei Probleme.
- mfG. DarkViper

Ich arbeite derzeit an einem 2D-Spiel (vom Aufbau ähnlich einem Platformer wie 'Super Mario') in welchem man Strichmännchen spawnen kann, welche automatisch mit Objekten in der Umgebung interagieren etc.
Wird das Strichmännchen mit der Pistole ausgerüstet, verwandelt es sich in das Objekt "HUM_PISTOL" (Also das Strichmännchen bloß mit ner Knarre und einer Munitionsanzahl von '8'.
Dieses Objekt soll - wenn das Objekt "ZOMBIE" auf selber Y-Höhe ist (also relativ: 0) und bis zu einem Abstand von 400 (X-Achse) entfernt - mit der Chance von 1-30 einen Pistolenschuss abgeben. Dabei soll auch beachtet werden: Hat das Objekt "HUM_PISTOL" gerade den Sprite "hum_pistol_go_r" oder "hum_pistol_stand_r", soll das Objekt "BULLET" nach rechts fliegen. Hat "HUM_PISTOL" hingegen gerade den Sprite "hum_pistol_go_l" oder "hum_pistol_stand_l", soll das Objekt BULLET nach links fliegen. In beiden Fällen mit einer Geschwindigkeit von 12.
Nun zu den eigentlichen 'Problemen':
1.) Momentan bin ich so weit, dass das Objekt "HUM_PISTOL" erkennt, ob der Zombie in der Nähe ist. Es führt auch die Feuer-Anweisung aus etc, nur da ich 'distance_to_object(ZOMBIE)' verwende (nehm ich mal an), feuert das Objekt "HUM_PISTOL" auch dann, wenn der Zombie in Wirklichkeit ein Stockwerk weiter oben ist. Gibt es eine Alternative dazu oder muss man dazu noch etwas hinzufügen, damit er auch bloß dann feuert, wenn der Zombie auf gleicher Höhe ist wie das Objekt "HUM_PISTOL" ?
2.) Dummerweise feuert mein Strichmännchen auch dann nach rechts, wenn der Sprite des Objektes nach links zeigt. Dabei (D&D) lautet die Anweisung:





Muss dort noch ein Parameter gesetzt werden, damit das Objekt tatsächlich die Geschwindigkeit von -12 annimmt?
Ich danke für jede Antwort zu egal welchem der zwei Probleme.

- mfG. DarkViper

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DarkViper ()