Komisches Problem mit keyboard_check

  • Komisches Problem mit keyboard_check

    GML-Quellcode

    1. //Tastatur
    2. if keyboard_check(ord("w"))
    3. {
    4. sprite_index = spr_player_walk
    5. image_speed = 0.2
    6. y -=2
    7. }


    Das problem ist, es tut sich nichts.Hab das aus nem anderem game kopiert.Ging net.Neu geschrieben, ging auch nicht.In der suche hab ich genug gefunden aber das stimmt alle überein.Normal Step-Event.

    Ich such den fehler schon über 2 stunden.Mit dn'd geht es doch auch.Zumindest mit events.Aber dann ändert sich das sprite nicht

    MfG
  • Dein Problem ist, dass keyboard_check nicht mit true und false arbeitet, sondern mit 0 und 1.

    Wenn das so aussieht müsste es funktionieren:

    GML-Quellcode

    1. //Tastatur
    2. if (keyboard_check(ord("w")) == 1)
    3. {
    4. sprite_index = spr_player_walk
    5. image_speed = 0.2
    6. y -=2
    7. }
    Dies ist eine kreative Signatur: Stell dir genau JETZT etwas lustigs vor, das hier stehen könnte...

    Meine Homepage
  • Original von Firecool
    Dein Problem ist, dass keyboard_check nicht mit true und false arbeitet, sondern mit 0 und 1.

    Wenn das so aussieht müsste es funktionieren:

    GML-Quellcode

    1. //Tastatur
    2. if (keyboard_check(ord("w")) == 1)
    3. {
    4. sprite_index = spr_player_walk
    5. image_speed = 0.2
    6. y -=2
    7. }


    Nope-Leider tut sich nichts
  • Kommt da kein Fehler? mir fällt grad auf, dass da keine ; gesetzt sind.

    €dit: In welchem Event ist das denn?
    Dies ist eine kreative Signatur: Stell dir genau JETZT etwas lustigs vor, das hier stehen könnte...

    Meine Homepage

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

  • Ist ja klar. Hatte ich vergessen w,a,s,d MÜSSEN groß geschrieben werden.^^
    Dies ist eine kreative Signatur: Stell dir genau JETZT etwas lustigs vor, das hier stehen könnte...

    Meine Homepage
  • Original von Firecool
    Dein Problem ist, dass keyboard_check nicht mit true und false arbeitet, sondern mit 0 und 1.

    Ich zitiere aus der Hilfe:
    Aus der Hilfe - Konstanten
    true (wahr) entspricht 1.
    false (unwahr) entspricht 0.

    Warum? Na weil der GM (praktisch) nur Reals und Strings kennt.

    GML-Quellcode

    1. if (my_var) { ... }
    bedeutet soviel wie

    GML-Quellcode

    1. if (my_var > 0) { ... }

    Also: Größer als null = true (wahr).
    Und: Kleiner gleich null = false (unwahr).

    EDIT: Nicht das ihr mich falsch versteht, eigentlich ist es ziemlich SCH**** egal was ihr schreibt. Wenn denn nun der GM damit einverstanden ist.

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

  • Darauf sind wir auch schon gekommen, zwiebelmann:

    ne das mit dem ; ist meist nicht nötig bei GML.Ich hab jetzt w,a,s und d groß geschrieben.Es geht.Komisch weil ich hab den script 1 zu 1 kopiert und nur die sprite angaben geändert.

    Naja aber jetzt gehts. thx


    MfG


    Ist ja klar. Hatte ich vergessen w,a,s,d MÜSSEN groß geschrieben werden.^^
    Dies ist eine kreative Signatur: Stell dir genau JETZT etwas lustigs vor, das hier stehen könnte...

    Meine Homepage
  • Damit ihr das endlich mal versteht:

    1. Der GM braucht keine ";" !
    2. Beim GM braucht man bei Abfragen keine Klammern setzen!
    3. Es gibt nen gewissen unterschied zwischen Char und String. Char = ' ' <-> String = " "
    4. Es ist egal, ob man == oder = schreibt
    5. Es ist egal, ob man true, false oder 1, 0 schreibt

    Das alles bezieht sich auf den GM und ihr werdet merken, dass diese Programmiersyntax total falsch ist.

    Denn eigentlich müssen ; stehen, es müssen Klammern bei Abfragen Stehen, es muss in Abfragen == stehen und nicht =.
    Außerdem macht es einen Unterschied, wenn man '' oder "" schreibt.

    (Bei C++ z.B.)

    Das Problem von Slim_Jim war einfach nur, dass er

    GML-Quellcode

    1. if keyboard_check(ord("w"))
    und nicht

    GML-Quellcode

    1. if keyboard_check(ord('W'))
    geschrieben hat.

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

  • So weit nichts neues.Hab mir halt n eigenen programier stil angewöhnt wie so zimlich jeder hier.
    Ich schreib z.b. immer

    GML-Quellcode

    1. if dasda = dies
    2. {
    3. function(oderso)
    4. {
    5. //nochmehr
    6. }
    7. }

    Einfach ne gute übersicht... Meine kollegen sehen das zwar ander aber egal...

    Und, nein das problem waren nicht 'w' oder "w".Sondern das problem war nur, das das W groß musste.

    1.Mach ich eh nie.Nur bei variablen.Angewohn heit von lite-c
    2.Auch nie gemacht.Nur gewundernt wenns welche machen
    3.Hatte fast immer "" benutzt und nie probleme gehabt.Bis auf die groß/klein schreibung
    4. =.Hab von == erst später erfahren.Also auch nie benutzt.Sieht aber besser aus ^^
    5.true, false; besser übersicht


    MfG Slim_Jim(Man sollte es genießen seinen Nick/namen zu schreiben.Wer weiss, bald sind wir nach zahlen benannt...) ;)

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

  • Ich habe mich bei deinem "W" auch nicht auf die "" bezogen sondern auf die größe. Schau mal genauer hin. Wie gesagt, wenn du iwann eine andere Programmiersprache lernen solltest, wirst du merken, was für eine immens Falsche Codesyntax das ist^^

    GML-Quellcode

    1. if(variable == true)
    2. {
    3. function(arg0,arg1);
    4. if(variabl2 == false)
    5. MachDies();
    6. }
  • Original von Merko
    3. Es gibt nen gewissen unterschied zwischen Char und String. Char = ' ' <-> String = " "


    Wo hast du denn das her, denn

    1. Unterscheidet der GM nicht zwischen Char und String
    2. Trifft das noch nichtmal in anderen (mir bekannten) Programmiersprachen zu.

    Es ist völlig egal ob du ' oder " verwendest, wichtig ist nur, dass du für Anfang und Ende das gleiche Zeichen benutzt.
  • Original von Bl@ckSp@rk
    Original von Merko
    3. Es gibt nen gewissen unterschied zwischen Char und String. Char = ' ' <-> String = " "


    Wo hast du denn das her, denn

    1. Unterscheidet der GM nicht zwischen Char und String
    2. Trifft das noch nichtmal in anderen (mir bekannten) Programmiersprachen zu.

    Es ist völlig egal ob du ' oder " verwendest, wichtig ist nur, dass du für Anfang und Ende das gleiche Zeichen benutzt.


    Ich meinte nicht, dass das andere Auswirkungen hat, sondern dass man ' ' meist mit Char in Verbindung benutzt und " " bei String.
  • Benutzer online 1

    1 Besucher