Tastatur in Game ändern und Fallschirm öffnen?

  • GM 8

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

  • Tastatur in Game ändern und Fallschirm öffnen?

    Hey, bin noch ein Anfänger mit Game Maker und hätte 2 Fragen ;).
    Zum einen würde ich gerne wissen, wie es geht das ich ingame in den Optionen die Tastatureinstellung ändern kann? (Pfeiltasten und Leertaste).
    Also das ich selber selber einstellen kann mit welchen tasten ich mich bewegen will.

    Und 2.
    Sagen wir mal ingame fliege ich irgendwo höher runter und ich möchte einen Fallschirm öffnen damit ich in der Luft langsamer werde, wie würde das gehen?
    Da sollte es dann natürlich auch gut aussehen wie der Fallschirm aufgeht wie müsste ich das anstellen? (ich kann relativ gut mit Photoshop umgehen würde die Grafik also selber machen), brauch ich dann eine gif Datei?

    Was ich noch dazu sagen sollte, ich hab bis jetzt nur mit Drag&Drop und halt z.T (wegen Tutorials^^) mit "Execute a piece of Code" gearbeitet, weil ich hier in den Tutorials öfters was von gml gelesen hab..

    Hoffe mal auf viele Antworten ;)

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Zu 1 :
    Ich versteh nicht so recht was du meinst also das der Spieler im Spiel entscheiden kann ob er mit zB Leertaste oder Strg springen kann?
    dafür müsstest du vermute ich im Game start zB eine variable namens global.jump und global.left und global.right ... also so:

    GML-Quellcode

    1. global.jump=vk_space;
    2. global.left=vk_left;
    3. global.right=vk_right
    4. global.up=vk_up
    5. global.down=vk_down

    Damit stellst du deine Standarteinstellungen ein. Jedoch muss dann im Step event deines players folgendes stehen damit er sich bewegen kann (falls du bisher mit den key_press... events gearbeitet hast musst du diese ersetzen):

    GML-Quellcode

    1. if keyboard_check(global.jump) then // Das was dein spieler bei Leertaste machen soll
    2. if keyboard_check(global.up) then // Das was dein spieler bei pfeil_hoch machen soll
    3. if keyboard_check(global.down) then // Das was dein spieler bei pfeil_runter machen soll
    4. if keyboard_check(global.left) then // Das was dein spieler bei pfeil_links machen soll
    5. if keyboard_check(global.right) then // Das was dein spieler bei pfeil_rechts machen soll

    Diese variablen kannst du dann den Spieler beliebig verändern lassen also könnte er zb auch mit x springen dazu musst du dann nur sagen

    GML-Quellcode

    1. global.jump=ord("X")

    kann sein das dies umständlich ist aber besser wüsste ich es nicht falls du es nicht verstehst könnte ich dir vielleicht auch ein example basteln :)

    Zu 2:
    Jup du müsstest entweder eine gif datei oder ähnliches importieren oder halt die einzelbilder im gm malen oder durch copypaste einfügen
    Dann müsstest du nurnoch beim fallschirm-auswerfen die gravity runtersetzen mit diesem symbol glaube ich: Wie das geht hab ich aber kp von weil ich lieber mit code arbeite.

    oder per code (was ich einfacher finde):

    GML-Quellcode

    1. gravity-=0.4 //z.B. du kannst naturlich jeden beliebigen wert eingeben


    Hoffe ich konte dir helfen
    Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





    I am a in the GM Quiz! :heul: :vogel:

    :gmlove:

    xD
  • Zu1:
    Der Spieler soll in den Optionen seine Tastaturbelegung einstellen (die im gefällt)
    z.B. statt den Pfeiltasten halt W,A,S,D

    Zu2:
    In was für ein event muss der Code?^^
    Ich hab jetzt eingestellt:
    Im Player: F-Key: Change sprite into fallschirm, execute a piece of code gravity = 0.2

    allerdings wird er nicht langsamer^^

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Also....:) Fangen wir mal an.

    Mit Nummer 1:
    Du kannst ein Spieler Objekt machen, das ist dann dein ganz normaler Spieler:
    obj_player






    So und nun kannst du noch ein Objekt machen was der Spieler mit Fallschirm ist:

    obj_player_fallschirm


    Im Spieler-Objekt:

    Im Key Press "F" - EVENT:



    obj_player_fallschirm





    Dann machst du dann einfach: (im Fallschirm-Spieler-Objekt)




    STEP-Event:
    Graviti: #Deine Zahl# Nicht Relative (ohne #)




    //Nun kannst du es so machen, das wenn dein Fallschirm-Spieler den (zB.) Boden berührt, wieder
    zum Spieler wird.//


    Event:
    mit Wand-Objekt.


    Aktion:

    obj_player




    Das alles ist nur per Drag&Drop. Also eigentlich für jeden Anfänger, wenn irgendwo ein Fehler ist,
    oder du eine Frage hast, dann einfach schreiben.


    LG Jan Luca, ich hoffe es war verständlich.
    __________________________________________
    EDIT: Hier ist 2:


    Ich glaube diese Codes sollte dir helfen:

    GML-Quellcode

    1. keyboard_set_map(key1,key2)

    Heißt, Key1 wird auf Key2 abgebildet.

    ...und mit

    GML-Quellcode

    1. keyboard_unset_map()


    ....werden alle Testenanweisungen zurück gesetzt.
    Heißt alles wieder normal!

    //Hier noch was:

    GML-Quellcode

    1. keyboard_get_map(key)


    Gibt die momentane Verknüpfung auf der Taste (Key) wieder.//
    ________________________________________________
    @7rust-dev

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

  • Die codes für 1 habe ich dir oben geschildert und du könntest statt mit gravity auch mit speed arbeiten
    da du bei gravity sehr sehr geringe werte nehmen musst damit sich etwas "schwebend" bewegt. Bei mir war es gravity=0.000005
    Ich werd dir nen example basteln zu 1 und 2
    Es ist vieleicht mit komischen grafiken und ohne komentare aber ich hoffe es hilft dir.
    Ich habe 1 und 2 vereint(und speed benutzt).

    Achso: Nicht wundern wegen der komischen tastenbeschriftung (do=down,le=left,ri=right,sp=space und ent=enter xD) Bei fragen zögere nicht
    Dateien
    • easy_bsp.zip

      (24,82 kB, 124 mal heruntergeladen, zuletzt: )
    Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





    I am a in the GM Quiz! :heul: :vogel:

    :gmlove:

    xD
  • @lucke so hab ichs gemacht, allerdings ist dann blöd das die View (wenns weiter runter geht) oben stehen bleibt da sie nur entweder dem objekt mit fallschirm oder halt dem ohne fallschirm folgt..
    Das mit den Keys kapier ich nicht ?(

    @miau danke für das Beispiel
    Aber für was braucht man die Objekte Change Up/Down/right usw?
    Sind die irgendwie wegen den Codes nötig?, wenn ja kannst du ungefähr beschreiben für was?^^
    Wäre dir sehr verbunden ;)

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Wenn du "Ingame" p für pause drückst kannst du dank dieser objekte deine Tastenbelegung ändern.

    Dies lässt sich natürlich noch viel tiefer und besser verarbeiten.
    Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





    I am a in the GM Quiz! :heul: :vogel:

    :gmlove:

    xD
  • Unkaputtbar schrieb:

    @lucke so hab ichs gemacht, allerdings ist dann blöd das die View (wenns weiter runter geht) oben stehen bleibt da sie nur entweder dem objekt mit fallschirm oder halt dem ohne fallschirm folgt..

    Du kannst doch einfach ein Objekt (bsp.obj_view)machen, was wenn das Objekt Spieler da ist, dem Objekt Spieler folgt,
    und wenn das Objekt Fallschrim da ist, dem Objekt Fallschirm folgt.

    Die View folgt immer diesem einen obj_fallschirm




    Das mit den Keys kapier ich nicht ?(
    Leider bin ich im jetzt im urlaub, daher schaffe ich es nicht mehr ein Example zu proggen.
    Falls du das in 2 Wochen immer noch brauchst, könnte ich mal schauen :D:D:D
    @7rust-dev
  • Dann wünsch ich dir nen schönen Urlaub und danke für die Hilfe ;)

    Miau danke für die Hilfe und das Beispiel^^, eine letzte Frage hab ich noch :D
    Du hast in den Optionen ja eingestellt das man zwischen den Pfeiltasten und wasd aussuchen kann, geht es auch das man frei bestimmen kann welchen tasten mann nimmt?
    Also als Beispiel ich klicke mit der Maus auf die Taste welche geändert werden soll dann kommt ne Nachricht "Jetzt beliebige Taste drücken", dann nehm ich z.B. "k" damit ich nach vorn bewege?

    Ist vermutlich viel zu kompliziert ausgedrückt -.-

    Also das ich frei wählen kann welche Taste ich wo will^^

    Oder ist das schon wieder zu kompliziert zum Coden und so? :P

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Hier ist das Beispiel.

    Also es ist nicht das beste, es ist ziemlich kompliziert aufgebaut. Wenn du eine variable nicht verstehst schreib mir einfach.

    MfG Rodrog

    P.S.: mann kann aber leider nur Tasten also von a-z. mit Pfeiltasten kann man auch noch machen aber das ist komplizierte also hab ichs weggelassen. die Zahlen kann man auch dazugeben, aber dazu war ich zu müde

    Edit: Hab vergessen das Ladebild zu ändern, aber das wird ja nicht so schlimm sein

    Edit2: Hier hab ich noch ein Tutorial gefunden das einfach ist als meines ;)
    Wählbare Tastenbelegung

    MfG Rodrog
    Dateien
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.

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

  • Danke erstmal fürs tutorial ;)
    Hab jetzt eingebaut so wie du es erklärt hast^^, jetzt muss ich nur noch rausfinden wie das mit den Zahlen und Pfeiltasten funktioniert :P

    Das Tutorial hab ich mir auch angeschaut und gefällt mir sehr gut :D, werde ich auch hernehmen^^

    Danke für die ganze schnelle effiziente Hilfe von euch allen, Super Community :thumbsup:

    lg

    //E.:

    Wie kann man das beheben das ä,ö und ü auch angezeigt werden?

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)

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

  • Also ne es geht darum, dass ich die Funktion "chr()" benutze, und z.B. chr(13) ist Enter, doch Enter kann nicht dargestellt werden. jetzt muss man dann immer überprüfen ob er Enter gedrückt hat, und anstatt dann 13 zu speichern, muss er "Enter" speichern.
    Ich glaub das Symbol '$' ist das Zeichen für die Pfeiltaste-Rauf. Dann würde stehen (wenn man es mit pfeiltasten machen würden)
    Rauf $
    Runter ..
    Links ..
    Rechts ..

    müsste aber sein
    Rauf Pfeiltaste-Rechts
    Runter ..
    Links ..
    Rechts ..

    So ca.
    Das was du mit der Font machst, erhöht den Zeichenvorrat, aber nicht wie sie dargestellt werden

    MfG Rodrog

    Edit: Sry hab gerade gesehen das er nach ÄÖÜ gefragt hat :)
    Wenn du meins benutzt müsstest du eine If-Abfrage ein wenig ändern, dann würde ÄÖÜ auch gehen.
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Damit dass klappt muss man alles einzeln abfragen
    (aus dem keyzahlencodes-tread kopiert)
    Das hier in ein eigenes Script und als argument0 die gedrückte Taste

    GML-Quellcode

    1. var name
    2. switch(argument0)
    3. {
    4. case 8: name = "Rücktaste" break;
    5. case 13: name = "Enter" break;
    6. case 16: name = "Shift" break;
    7. case 17: name = "Strg" break;
    8. case 18: name = "Alt" break;
    9. case 19: name = "Pause" break;
    10. case 20: name = "Caps Lock" break;
    11. case 27: name = "Escape" break;
    12. case 32: name = "Leertaste" break;
    13. case 33: name = "Bild Hoch" break;
    14. case 34: name = "Bild Runter" break;
    15. case 35: name = "Ende" break;
    16. case 36: name = "Pos1" break;
    17. case 37: name = "Links" break;
    18. case 38: name = "Hoch" break;
    19. case 39: name = "Rechts" break;
    20. case 40: name = "Runter" break;
    21. case 41: name = "Select" break;
    22. case 42: name = "Druck" break;
    23. case 43: name = "Ausführen" break;
    24. case 44: name = "Druck" break;
    25. case 45: name = "Einfügen" break;
    26. case 46: name = "Löschen" break;
    27. case 47: name = "Hilfe" break;
    28. case 96: name = "Num 0" break;
    29. case 97: name = "Num 1" break;
    30. case 98: name = "Num 2" break;
    31. case 99: name = "Num 3" break;
    32. case 100: name = "Num 4" break;
    33. case 101: name = "Num 5" break;
    34. case 102: name = "Num 6" break;
    35. case 103: name = "Num 7" break;
    36. case 104: name = "Num 8" break;
    37. case 105: name = "Num 9" break;
    38. case 106: name = "Multiplizieren" break;
    39. case 107: name = "Addieren" break;
    40. case 108: name = "Seperator" break;
    41. case 109: name = "Subtrahieren" break;
    42. case 110: name = "Dezimal" break;
    43. case 111: name = "Dividieren" break;
    44. case 112: name = "F1" break;
    45. case 113: name = "F2" break;
    46. case 114: name = "F3" break;
    47. case 115: name = "F4" break;
    48. case 116: name = "F5" break;
    49. case 117: name = "F6" break;
    50. case 118: name = "F7" break;
    51. case 119: name = "F8" break;
    52. case 120: name = "F9" break;
    53. case 121: name = "F10" break;
    54. case 122: name = "F11" break;
    55. case 123: name = "F12" break;
    56. case 191: name = "\# " break;
    57. case 220: name = "^" break;
    58. case 221: name = "´" break;
    59. case 222: name = "Ä" break;
    60. case 192: name = "Ö" break;
    61. case 186: name = "Ü" break;
    62. default: name = chr(argument0) break;
    63. } break;
    64. return name
    Alles anzeigen


    Fg
    andre111
  • Jo das ist genau das was ich gemeint habe. Ich werd mal das ändern der Tasten ändern, und den code von dir einbauen, und ihm nochmal hochladen.
    Danke dir.

    MfG Rodrog

    Edit: Hier das neue:
    Dateien
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.

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

  • Bei mir wird die neue Einstellung nicht gespeichert..
    Hab eingegeben das man wenn man "M" drück wieder zum Startroom zurück kommt, da es verschiedenen Schwierigkeitsstufen gibt kann ich nicht sofort in den Room wo man zum Spielen beginnt^^
    Was muss geändert werden damit das dann dauerhaft gespeichert wird?

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Sry ich versteh das jetzt nicht ganz.
    Send mir mal die gmk, natürlich nur wenn du willst.
    Aber ich denk mal es resette weil im Creat event ja die Tastenvoreinstellung gemacht wird.
    Aber wie gesagt ich versteh das Problem noch nicht ganz genau.

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.