Cooldown

  • GM 8

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

  • Hi alle,

    Hab schon wieder das nächste problem: Ich möchte gern einige skills/ Fertigkeiten in mein Spiel einbauen. Soweit komme ich auch noch zurecht nur würde ich jetzt gerne nach auslösen der Fertigkeit einen Cooldown aktivieren. Das viereck soll also grau werden und wie bei Modernen mmorpg's (wie league of legends z.B) Ründlich ablaufen.

    mfg
    Matthias
    Bilder
    • Beispeiel Cooldown.JPG

      28,47 kB, 340×330, 208 mal angesehen
  • Im Create-Event erstaml ein paar Variablen:

    GML-Quellcode

    1. cool_time = room_speed * 5; // Wie lange der Cooldown dauern soll
    2. cool_down = 0; // Der Cooldown, 0 = Skill aktiv, > 0 Skill inaktiv


    Wenn du einen Skill benutzt, setzt du einfach cool_down auf cool_time, aber natürlich nur wenn du den Skill benutzen kannst ...

    GML-Quellcode

    1. if (cool_down == 0) { // Wenn der Skill aktiv ist
    2. if (keyboard_check_pressed(vk_space)) {
    3. // Skill wird aktiviert
    4. cool_down = cool_time;
    5. }
    6. }


    ... und verringerst den cool_down wert mit z.B:

    GML-Quellcode

    1. cool_down = max(0,cool_down - 1);


    Zuletzt das ganze zeichnen:

    GML-Quellcode

    1. var xx,yy,r,ct;
    2. xx = 18;
    3. yy = 18;
    4. r = 16;
    5. if (cool_down == 0) {
    6. draw_set_color(c_red); // Aktiv
    7. }
    8. else {
    9. draw_set_color(c_gray); // Inaktiv
    10. }
    11. draw_circle(xx,yy,r,false); // Skill
    12. draw_set_color(c_dkgray); // Farbe des Cooldowns
    13. // Zeichnet den Cooldown
    14. if (cool_down > 0) {
    15. ct = cool_down / cool_time * 360;
    16. draw_primitive_begin(pr_trianglefan);
    17. draw_vertex(xx,yy);
    18. for (i = 90;i <= 90 + ct;i += 1) {
    19. draw_vertex(xx + lengthdir_x(r,i),yy + lengthdir_y(r,i));
    20. }
    21. draw_primitive_end();
    22. }
    Alles anzeigen


    Und noch ein Example zum angucken:
    CoolDown.zip

    Bitte schön ^^