point_direction problem

  • point_direction problem

    Hey Leute


    Ich hab begonnen ein game zu machen und habe ein obj_turret erstelt und habe es programmiert das es auf feinde automatisch schiesst. ist alles gut gegangen und wen das obj_turret alle feinde zerstoert hat dann kommt ein error message weil es auf nichts mehr schiessen kann also das bullet. Ich habe disen code benutzt

    GML-Quellcode

    1. direction=point_direction(x,y,feind.x,feind.y)



    wie kann ich das jetzt loesen? Natuerlich habe ich auch die SuFu benutzt aber ich wusste nicht wirklich wie ich das problem zusammenfassen soll


    Und nochwas, wie mach ich das, das das turret nicht extrem schnell feuert sondern langsamer das habe ich bereits geloest aber mit meinem spieler mit event mausbutton, aber bei turret kann ich kein mausbutton benutzen.


    bitte um hilfe :heul:
  • Überprüf vor dem Schusscode, ob noch Gegner existieren und zwar mit instance_exists().
    Bei der Schussgeschwindigkeit bieten sich Alarme in Verbindung mit einer Variablen an.
    Im Create Event wird die Variable auf True gesetzt und in das Event, wo deine Schüsse
    erzeugt werden, kommt die Abfrage, ob die Variable true ist. Wenn ja, wird ein Schuss
    erzeugt, die Variable auf false und ein Alarm auf einen beliebigen Wert gesetzt.
    Im entsprechenden Alarm Event wird dann die Variable wieder true gemacht.
    Gruß, Spellmaker
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • GML-Quellcode

    1. //Create-Event
    2. can_shoot = 1;


    GML-Quellcode

    1. //Step-Event
    2. if can_shoot == 1
    3. {
    4. //deine Schussaktion
    5. can_shoot = 0;
    6. alarm[0] = 15;


    Also so mach ich das immer, kannst natürlich auch ohne Variable, direkt ins Alarm Event machen.
    Gruß Gamer
  • Ich hab das mal anders gemacht.
    MfG Henrik1235
    Die kugel fliegen immer zum nächsten Feind.
    Lass ihn sein Spiel doch selber machen :D
    Ich hab nur das beispiel verbessert.
    Dateien
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%

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

  • Also ich glaube dass der fehler wo anders liegt:
    Im step event gibt es 2 piece of codes. Im einen wird überprüft ob der fein da ist, im anderen wird der alarm neueingestellt und die variable verstellt. So müsste es aussehen:
    Step

    GML-Quellcode

    1. if (can_shoot==1)
    2. {
    3. if(instance_exists(feind))
    4. {
    5. instance_create(x,y,bulet)
    6. can_shoot=0
    7. }
    8. }
  • Es funktioniert

    Hey es funktioniert! 8o

    Ich musste bloss die 2 scripts zusammensetzen wie es gamer_08 gecodet hat und am ende noch alarm[0] hinzufuegen(ich dachte so habe ich es gemacht, warscheinlich war der fehler irgendwo anders). Das von henrik geht natuerlich auch.

    Aber DANKE allen

    Gruss Aca