Feinde greifen aus gewisser Entfernung an

  • GM 8
  • Feinde greifen aus gewisser Entfernung an

    Hallo Leute

    Ich bin gerade an meinem ersten Spiel. Es wird eine Art Abenteuer-Spiel, wo man durch einige 2D-Levels, grafisch simpel dargestellt, läuft und die Gegner tötet. Leider habe ich schon ein Problem: Man spaziert also so durch das Land und stösst plötzlich auf einen Feind. Doch der soll erst schiessen, wenn man etwa 40 Pixel an ihm dran ist (schiessen weiss ich schon wie, nur das er es erst aus dieser Entfernung macht weiss ich nicht wie). Wie macht man das mit D&D?

    Ich bin sicher, dass ihr könnt mir helfen :D

    lg
    Liebe Grüsse
    MirrorGames
  • Vor dem Schießen machst du eine Abfrage (Test Expression) mit point_distance(x,y,spieler.x,spieler.y)<=40
    Dann schießt der Gegner erst nach der angegebenen Distanz.

    © 2008 by Teamgrill Productions
  • Kann man denn point_distance() auch in der lite-Version benutzen?

    Falls nicht hätte ich folgende Idee:
    Du erstellst ein Sprite mit einer Breite von 40 Pixeln (oder eben so lang, wie der Gegner gucken kann) und mit einer Höhe von 1 Pixel. So, dann erstellst du ein Objekt (Sichtweite oder so, ka xD) was die Maske dieses Sprites hat und schreibst in das Create-Event eine Variable, gesichtet = false und im Step-Event setzt du dann immer detected = place_meeting(x,y,Spieler-Objekt) (d.h. wenn der Spieler mit dem Objekt kollidiert wird gesichtet auf true gesetzt, wenn nicht dann ist gesichtet = false).

    So und im Create-Event vom Gegner erstellst du eine Variable sichtfeld = instance_create(x,y, Sichtweite(oder je nach dem wie du dein vorheriges Objekt genannt hast)); und ebenfals eine Variable gesichtet = false;. So und im Step-Event vom Gegner setzt du gesichtet = sichtfeld.gesichtet;.

    Und wenn jetzt gesichtet = true; ist, dann kann dein Gegner schiessen, andernfalls nicht.

    Hoffe hab mich verständlich ausgedrückt :thumbsup: .

    MfG Trixt0r

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.