Speed nur kurz erhöhen?

  • GM 8

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

  • Speed nur kurz erhöhen?

    Hallo.
    Ich bin gerade am versuchen den speed von charakter zu erhöhen durch das drücken der <Shift> Taste.
    Habe es auch soweit hinbekommen. Jedoch möchte ich das der Charakter nicht dauerhaft den speed hat sondern wenn ich einma shift klicke bekommt er nen kurzen boost.
    Kann mir da villt jmd Helfen? Mfg Slash
    Und danke im voraus!
  • Henrik1235:
    So bekommt man dauerhaft einen höheren speed wert.
    Mach es doch mit ner Vairable.


    Create event:
    s=30;//Wie lange du denn Bost benutzten kanns.


    Step event:
    if keyboard_check(vk_shift) && s > 0 then {s-=1 speed=//derneuespeedwert//}
    else speed=//deraltespeed//
    if keyboard_released(vk_shift) && s < 30 then s+=1
    :saint:
  • Ich denke mal ihr wisst nich genau was ich meine^^....
    Also ich laufe als bsp nach links die ganze zeit... Mitten auf dem weg drücke ich shift, dann bekomme ich einen boost. Egal wie lange ich shift halte ich bekomme nur einmal einen kurzen boost. Jedoch wenn ich die wiederholt shift drücke bekomme ich dauernt einen boost...
    Wisst ihr nun was ich meine??? xD
    Thx für die antworten und thx schonma im voraus....
  • ich würde volgendes machen

    GML-Quellcode

    1. if (keyboard_check_pressed(vk_lshift)){
    2. hspeed=20
    3. x=1;
    4. }
    5. if(x=1){
    6. alarm[0]=60//30=1sekunde... somit 60=2 sekunden (falls dus nicht wissen solltest ;=)
    7. }


    dann würde ich im alarm[0] event schreiben

    GML-Quellcode

    1. hspeed=10
    2. x=0;

    Beim shift drücken wird also die x-variable auf 1 gesetzt. diese aktiviert das alarm 0 event in unserem fall in 2 sekunden nach dem shift drücken
    wenn alarm 0 ausgeführt wird nach den 2 sekunden, wird hspeed zurück auf in unserem fall 10 gesetzt. und die x variable auf 0 gesetzt

    ich hoffe ich konnt helfen ;)

    gruß gruen


  • Das ist einfach:
    Create event :
    global.ok =true
    -------------------------------------------------
    Step event:
    if keyboard_check_pressed(vk_shift)
    {
    if global.ok=true
    {
    speed=erhöerspeed
    alarm[0]=wie lang der speed sein soll
    global.ok=false
    }
    if keyboard_check_released
    {
    global.ok=true
    }
    ---------------------------------------------------
    alarm[0] event:
    speed=deinoriginalerspeed

    Edit: Oh mann immer zu spät :D
  • Gruen schrieb:

    ich würde volgendes machen

    GML-Quellcode

    1. if (keyboard_check_pressed(vk_lshift)){
    2. hspeed=20
    3. x=1;
    4. }
    5. if(x=1){
    6. alarm[0]=60//30=1sekunde... somit 60=2 sekunden (falls dus nicht wissen solltest ;=)
    7. }


    dann würde ich im alarm[0] event schreiben

    GML-Quellcode

    1. hspeed=10
    2. x=0;

    Beim shift drücken wird also die x-variable auf 1 gesetzt. diese aktiviert das alarm 0 event in unserem fall in 2 sekunden nach dem shift drücken
    wenn alarm 0 ausgeführt wird nach den 2 sekunden, wird hspeed zurück auf in unserem fall 10 gesetzt. und die x variable auf 0 gesetzt

    ich hoffe ich konnt helfen ;)

    gruß gruen


    Bitte niemals x oder y als switch variablen verwenden. das hat keinen sinbn. x setzt den positionswert des objektes das ist nicht gewollt. also verändere x durch checka oder sonst ein wort aber bitte nicht x