Ladebalken für Attacke funktioniert nicht

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

  • Ladebalken für Attacke funktioniert nicht

    Ich möchte wenn ich die Taste Q drücke einen Balken für eine Attacke aufladen also breiter machen damit wenn der Balken bis x_scale = 133 voll ist die Attacke ausgeführt wird.
    Umgerechnet wären 3sec. bei 30 Tick und und einem maximum von 133, +=1.47.
    wenn ich die taste Q vorzeitig loslasse wird die Attacke abgebrochen und der balken wird wieder auf die normale maße zurückgebracht
    momentan hat der balken standardmäßig eine maße von width = 1, height = 10

    Draw GUI:
    draw_sprite(s_load,0,x+73,y+11)

    Step Event:
    if keyboard_check(ord("Q"))
    {
    if image_xscale < 133
    {
    image_xscale += 1.47;
    }
    else
    {
    image_xscale = 1
    }
    }

    die variante mit xscale wäre jetzt meine beste idee gewesen. falls ihr eine andere lösungsart habt wäre die natürlich auch hilfreich

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

  • Draw GUI:
    draw_sprite(s_load,0,x+73,y+11)

    Step Event:if keyboard_check(ord("Q"))
    {if image_xscale < 133 {
    image_xscale += 1.47;
    if (image_xscale >= 133){attacke =true;}
    else{
    attacke = false;
    }
    }else{
    image_xscale = 1
    }}
    Wir stehen zusammen und wir fallen zusammen
  • if keyboard_check(ord("Q"))
    {
    if image_xscale < 133
    {
    image_xscale += 1.47;
    if (image_xscale >= 133)
    {
    attacke = true;
    }
    else
    {
    attacke = false;
    }
    }
    else
    {
    image_xscale = 1
    }
    }

    Gerade gestestet und funktioniert nicht.. Also es passiert rein gar nichts. Nichts bewegt sich da, habe mal ein Screenshot gemacht:
    Bilder
    • screenshot gamemaker.png

      144,91 kB, 1.283×829, 344 mal angesehen
  • var laden = keyboard_check(ord("Q'));
    var loslassen =keyboard_check_released(ord("Q"));


    if (laden){
    image_xscale += 1.47;
    if (image_xscale >= 133){
    image_xscale = 133;
    attacke = true;
    }else{
    attacke = false);
    }
    }


    if (loslassen){
    image_xscale =1;
    if (attacke){
    //attacke
    }
    }




    }
    Wir stehen zusammen und wir fallen zusammen

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

  • doch funktioniert habs grad extra ausprobiert...


    GML-Quellcode

    1. ​var laden = keyboard_check(ord("Q"));
    2. var loslassen =keyboard_check_released(ord("Q"));
    3. if (laden){
    4. image_xscale += 1.47;
    5. if (image_xscale >= 133){
    6. image_xscale = 133;
    7. attacke = true;
    8. }else{
    9. attacke = false;
    10. }
    11. }
    12. if (loslassen){
    13. image_xscale =1;
    14. if (attacke){
    15. //attacke
    16. }
    17. }
    Alles anzeigen
    Wir stehen zusammen und wir fallen zusammen
  • Ja man musste

    Draw GUI:
    draw_sprite(s_load,0,x+73,y+11)

    entfernen.

    EDIT:

    Jetzt muss man den Balken jedoch manuell setzen was ziemlich ungenau wird und der balken folgt dem view nicht mehr. Mein Raum ist größer als der View und wenn ich mich bewege dann
    ist irgendwann der komplette balken verschoben/weg.
    Ich frage mich im moment warum man per
    Draw GUI:
    draw_sprite(s_load,0,x+73,y+11)
    das sprite nachher im step event nicht verändern kann.

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

  • GML-Quellcode

    1. //create
    2. val = 0;
    3. valMax = room_speed*3;
    4. attack = false;
    5. //step
    6. attack = false;
    7. if (keyboard_check(ord("Q"))) {
    8. val++;
    9. if (val >= valMax) {
    10. val = 0;
    11. attack = true;
    12. }
    13. }else{
    14. val = 0;
    15. }
    16. if (attack) {
    17. //...
    18. }
    19. //Draw
    20. var height = sprite_get_height(spr_fill);
    21. var width = sprite_get_width(spr_fill);
    22. draw_sprite_part_ext(spr_fill, 0, 0, 0, width*(val/valMax),height,xpos,ypos);
    Alles anzeigen

    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: