GM 8.1 seltsamer bug

  • GM 8

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

  • GM 8.1 seltsamer bug

    Hi,
    ich ahbe heute meinem programm volgendem code hinzugefügt:
    //step event

    GML-Quellcode

    1. if (keyboard_check_pressed(vk_delete && mode == "draw"))
    2. {
    3. surface_set_target(layer);
    4. draw_set_blend_mode(bm_subtract);
    5. draw_sprite_ext(spr_white,-1,0,0,4097,4097,0,c_white,1);
    6. draw_set_blend_mode(bm_normal);
    7. surface_reset_target();
    8. global.block_destroy = true;
    9. new_draw = false;
    10. }


    das seltsame: der code wird bei allem ausgeführt.
    (in diesem prgramm kann man unteranderem malen) ich male, und dann wähöe ich zb ein anderes tool aus (im prog) oder drücke W und der code wird ausgeführt.
    Ich bin mir sehr sicher das der code nciht falsch ist da ich eine kopie mit nur ein paar variablen verändert schonmal benutzt habe und er einwandfrei funktioniert.
    als ich verschiedene teile des codes ausklammerte und im debug modus das programm startete wurde klar: es wird NUR der draw teil ausgeführt, die variablen bleiben unverändert!
    Auchnoch fängt das programm höllisch an zu laggen.
    Ich bin mir übrigens sehr sicher das es an dieem code liegt da wenn er komplett ausgeklammert wird ncihts passiert.

    kann mir vieleicht jemand helfen?
  • Hi,

    i weiß nicht obs daran lieg, aber müsste das

    GML-Quellcode

    1. if (keyboard_check_pressed(vk_delete && mode == "draw"))

    nicht so sein:

    GML-Quellcode

    1. if (keyboard_check_pressed(vk_delete) && mode == "draw")


    lg Klaus
    "Es gibt nie ein glückliches Ende, denn es endet nichts." - Schmendrick
  • es ist so wie das erste von dir geschrieben, musst du dich verlesen haben, aber ich habe etwas geändert und das hats gebracht.
    es scheint ein game maker bug zu sein, aber falls so etwas auftritt muss man nur "&&" mit "and" ersetzten.

    Hellfish
  • ich meinte eigentlich die Klammern

    laut Hilfe kann man nur einen key übergeben:

    keyboard_check_pressed(key)


    oder gibts eine möglichkeit weitere parameter mit && zu übergeben?

    lg
    "Es gibt nie ein glückliches Ende, denn es endet nichts." - Schmendrick
  • Klaus C. Haber schrieb:

    ich meinte eigentlich die Klammern

    laut Hilfe kann man nur einen key übergeben:

    keyboard_check_pressed(key)


    oder gibts eine möglichkeit weitere parameter mit && zu übergeben?

    lg

    && bzw. and (ist beides das selbe) kann ein weiteres Abfrage-Argument hinzufügen. Bei keyboard_check_pressed (key) währe das in den meisten Fällen aber Unsinn.
  • @Hellfish
    bitte bitte, helfe gerne :D

    @Phoenix
    heißt das dann, dass ich theoretisch

    GML-Quellcode

    1. keyboard_check_pressed(vk_shift && vk_left)

    verwenden kann, um abzufragen ob shift und links gleichzeitig gedrückt werden?
    "Es gibt nie ein glückliches Ende, denn es endet nichts." - Schmendrick
  • heißt das dann, dass ich theoretisch

    GML

    1



    keyboard_check_pressed(vk_shift && vk_left)


    verwenden kann, um abzufragen ob shift und links gleichzeitig gedrückt werden?


    nein, das funktioniert nicht. du könntest es so lösen:

    GML-Quellcode

    1. if keyboard_check_pressed(vk_shift) && keyboard_check_pressed(vk_left)
    2. {
    3. //deine aktion
    4. }
  • && ist ein Operator der zwei Werte mit einander vergleicht.

    GML-Quellcode

    1. true && true = true
    2. false && false = false
    3. true && false = false
    4. false && true = false

    Da es beim Game Maker keine extra true oder false Variablen gibt (also 1bit-Variablen).
    Sieht der GM alles unter und 0.5 als false an und alles über 0.4 als true an. Da die vk_ Variablen einen Wert von über 0.4 haben, werden beide als true angesehen. So wird aus:

    GML-Quellcode

    1. keyboard_check_pressed(vk_shift && vk_left)

    das da:

    GML-Quellcode

    1. keyboard_check_pressed(1);
    wupto.net/ Nicht meine Seite!
    We love Koalas.

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