kanonen schuss erstellen

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

  • kanonen schuss erstellen

    hallo freunde


    also ich brauche wieder einmal eure hilfe....ich habe ein kanonen sprite und ein schuss sprite

    und ich will das die kanone abwechselnd schießt also einmal 2 schuss hintereinander dann wieder 1 schuss und dann 3 schuss usw..und es ist vertikal also das er von oben nach unten schiesst

    aber wie mach ich das???


    also ich hab es mit nen alarm probiert aber es nur so geschafft das er dauernd schießt.


    obj_kanone
    create event

    GML-Quellcode

    1. alarm[0]=room_speed*3


    obj_kanone
    alarm 0 event

    GML-Quellcode

    1. instance_create(x,y,obj_schuss)
    2. alarm[1]=room_speed*5


    obj_kanone
    alarm 1 event

    GML-Quellcode

    1. alarm[0]=room_speed*6//damit zwischen den schüssen ne pause ist....



    obj_schuss
    step event

    GML-Quellcode

    1. y+=1// damit er nach unten schießt



    bitte könnt ihr mir helfen???
  • Doch doch. (Unten Editierter Beitrag)
    Ich weiß nicht ob ich das richtig verstanden habe, aber mache es doch einfach so:

    Du nimmst eine Zähler Variable.
    Dann nimmst du ein Array, wo du die Zeiten nacheinander eingibst, die sich dann wiederholen sollen.
    Die Zählervariable zählst du bei jedem Alarmaufruf hoch und beim Ende des Arrays wieder auf 0.
    Der Alarm bekommt immer den Wert des Arrays der Position der Zählervariable.
    So kannst du das ganze verwirklichen:
    Create

    GML-Quellcode

    1. pos=0; //Position des Arrays
    2. times[0]=room_speed*1;//Erster Schuss nach einer Sekunde
    3. times[1]=room_speed*0.2; //Zweiter direkt eine fünftel Sekunde hinterher
    4. times[2]=room_speed*2; //Dritter Schuss mit zwei Sekunden Pause
    5. times[3]=room_speed*2; //Vierter Schuss mit wieder Zwei Sekunden Pause
    6. times[4]=room_speed*0.2; //Noch zwei mal ein Schuss mit fünftel Pause
    7. alarm[0] = times[pos++]; //Alarm starten

    Alarm

    GML-Quellcode

    1. pos = pos%array_length_1d(times); //Alarm Evtl. zurück setzen lassen. (Schau dir wegen dem % bzw. div die Funktion in der Hilfe an)
    2. //Code zum Schießen...
    3. alarm[0] = times[pos++];






    Edit:
    Oh ich hab grad gemerkt, dass das und so weiter sein soll. also immer in gleichen Abläufen.
    Das kannst du so machen:

    Create

    GML-Quellcode

    1. num=1; //Anzahl der Schüsse, die hochzählen
    2. shots_left= 0;//Zum Abzählen der schnellen Schüsse später
    3. alarm[0]=room_speed*1; //Eine Sekunde bis zum Start

    Alarm0

    GML-Quellcode

    1. //Code zum Schießen...
    2. alarm[1] = room_speed*1;//Mehrere Schüsse starten (1 Sekunde Zeit dazwischen)
    3. shots_left=num++;

    Alarm1

    GML-Quellcode

    1. //Code zum Schießen
    2. if (--shots_left) <= 0
    3. alarm[0] = room_speed*1; //Verbleibende Zeit zwischen dem Einzelschuss
    4. else
    5. alarm[1] = room_speed*0.2; //Verbleibende Zeit zwischen den Mehreren Schüssen
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • @Husi012

    also ich habs jetzt wieder mit dem alarm gemacht und so gelöst.....wenn ichs mit deiner art probiert habe ist es so gewesen das zuerst mal ein schuss dann zwei dann wieder einer dann drei dann wieder einer dann vier usw...

    bis alles voll war.....und so wollte ich das nicht aber danke trotzdem da du mir immer hilfst