Schießen in verschiedene richtungen KI

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Schießen in verschiedene richtungen KI

    Mann mann ich schüttel selber schon den Kopf über mich. Ne absolute Noobfrage glaub ich :(

    Also: Ich mach da dieses Fightspiel mit dem GM 5.3A. Da geht alles schon hervoragend, bloss die KI greift noch nicht an. Jetzt hätte ich das gerne so: Wenn der Gegner (KI) etwas weiter entfernt ist vom Player soll er einen Feuerball in richtung des players schießen (also wenn der Player links steht nach links etc.) Aber auch nur einen Ball. Ich krieg das nur hin, das er bei einer bestimmten Entfernung eine Reihen (millionen) feuerbälle schießt aber immer nur in eine richtung. Ausserdem sollte sich natürlcih der sprite ändern (also das er in die jeweilige richtung schaut) Aber ....Ich kann euch sagen ich plan das derbst nicht mehr. Hat das schon mal jemand gemacht?

    MFG J :Dhnnsen
    Es macht mich starr vor Furcht und Staunen! (Hamlet, 1. Aufzug, 1.Szene)
  • Check das:

    Create Event

    GML-Quellcode

    1. Feuerball_bereit=1


    Feuerball erstellung

    GML-Quellcode

    1. if Feuerball_bereit=1
    2. {
    3. ...
    4. Feuerball_bereit=1
    5. alarm[0]=20 // dauer bis der Feuerball "nachgeladen" hat
    6. }



    alarm[0] event

    GML-Quellcode

    1. Feuerball_bereit=1



    Und das mit Richtung ist einfach. Du musst überprüfen ob er Links oder Rechts ist. Wenn er also nach Rechts schauen soll image_xscale=1. Und Links rum image_xscale=-1.

    ÄDIT:

    Das mit dem image_xscale gilt aber nur wenn deine Figur nach rechts schaut. Ist es andersrum musste halt auch image_xscale umdrehen.

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

  • RE: Schießen in verschiedene richtungen KI

    Habe es zwar noch nicht gemacht, aber du kannst ganz einfach überprüfen ob der Gegner(obj_gegner) links oder rechts von dem Helden(obj_held) steht.

    GML-Quellcode

    1. if obj_gegner.x > obj_held.x//prüft, ob Gegner rechts von dem Helden steht.
    2. {
    3. //wenn ja, führt er das hier aus
    4. }
    5. else if obj_gegner.x < obj_held.x //prüft, ob der Gegner links vom Helden steht. Alternativ kannst du hier nur else nehmen.
    6. {
    7. //wenn ja, führt er das hier aus
    8. }

    Achja: Willst du die Entfernung prüfen, erkundige dich über folgende Funktion:

    GML-Quellcode

    1. point_distance(x1,y1,x2,y2)

    Edit: Nochmal richtig gegliedert...
    Edit2: Bernt war schneller. Aber unsere Aussagen ergänzen sich wunderbar :D

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von woku ()

  • bernt hat einen kleinen fehler gemacht

    GML-Quellcode

    1. if Feuerball_bereit=1
    2. {
    3. ...
    4. Feuerball_bereit=1
    5. alarm[0]=20 // dauer bis der Feuerball "nachgeladen" hat
    6. }
    muss so sein:

    GML-Quellcode

    1. if Feuerball_bereit=1
    2. {
    3. ...
    4. Feuerball_bereit=0
    5. alarm[0]=20 // dauer bis der Feuerball "nachgeladen" hat
    6. }
    (zeile 5: die 1 muss eine null sein)
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Mmm irgendwie geht das nicht....was hab ich da bloss falsch gemacht :headtouch: ???

    AAAAAAAAALTER.....Ich steig da nicht mehr durch. Jetz ham ja mehrere leute gesagt das das so gehen müsste... -.-
    Es macht mich starr vor Furcht und Staunen! (Hamlet, 1. Aufzug, 1.Szene)