release Space - Objekt soll in Ursprung

  • release Space - Objekt soll in Ursprung

    Hallo,

    ich habe ein Objekt, welches auf die Taste Space mit

    image_angle=20;

    reagiert.

    Natürlich bleibt das objekt immer bei image_angle=20, solange ich die Space-Taste drücke.

    Habe auch zusätzlich ein Alarm-Event welches nach Loslassen der Taste Space, ein

    image_angle=-20;erwirkt.

    Klappt auch alles gut, aber ich will, wenn die Space Taste länger (10 Steps) gedrückt wird, daß das objekt wieder in den ursprungszustand geht.

    also image_angle=0;

    Habe es mit release Space und dem Codeschnipsel versucht:

    image_angle=0;

    Auch mit einem zweiten Alarm (geht ja nicht, solange die Space gedrückt wird.)

    Klappt nicht.

    Was muß ich tun?
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • ich kann nicht genau erkennen, ob du das event genommen hast "wenn space gedrückt wird" oder "solange space gedrückt wird". sonst würd ich sagen dein 2. alarmobjekt sollte in das wenn-dingi, und die aktion, die dann ausgeführt wird, sollte vorher nochmal prüfen, ob immer noch space gedrückt ist. (sonst springt es erst auf -20 und dann auf 0...)
  • Original von CAS
    ich kann nicht genau erkennen, ob du das event genommen hast "wenn space gedrückt wird" oder "solange space gedrückt wird". sonst würd ich sagen dein 2. alarmobjekt sollte in das wenn-dingi, und die aktion, die dann ausgeführt wird, sollte vorher nochmal prüfen, ob immer noch space gedrückt ist. (sonst springt es erst auf -20 und dann auf 0...)


    Du ich habe nur Bahnhof verstanden. Ich habe beide Events im Player-Objekt gemacht

    Einmal halt den normalen Space-Event, da steht:

    image_angle=20;

    set alarm[0] to 10

    im gleichen player-objekt unter alarm[0]:

    image_angle=-20;

    dann wieder im player-objekt:

    release space
    alarm [1]

    und wieder im player-objekt

    alarm[1]
    image_angle=0;
    EDIT: und wie mache ich die überprüfung ob release space gedrückt wird?
    Was man mit Händen baut, kann auch mit Händen zerstört werden...

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

  • also so, wie ich das verstanden habe, willst du doch, dass, wenn man space drückt, image_angle = 20 wird, wenn man space gedrückt hält soll es -20 werden, und wenn man space loslässt, soll es 0 sein, richtig?

    falls ja:
    es gibt key-events, press-key-events und release-key-events.
    so wie es sich anhört hast du das space-event benutzt.
    benutze stattdessen das press-space-event, und mach dort alles rein, was bei dir im space event drin steht (das space-event dann natürlich entfernen.)

    mal zum unterschied zwischen beiden:

    press-space-event:
    - du drückst space, press-space-event wird aktiviert, der alarm wird gesetzt.
    - du hälst space, press-space-event macht nix mehr.
    - der alarm tritt ein, image_angle wird -20.

    space-event:
    - du drückst space, space-event wird aktiviert, der alarm wird gesetzt.
    - du hälst space, das space-event wird mit jedem step neu ausgeführt, der alarm wird immer wieder neu gesetzt
    - der alarm wird nie eintreten, da er immer wieder auf 10 gesetzt wird.


    so, und jetzt zum alarm0-event:
    packe den ganzen code, der da steht, in folgende if-condition:

    GML-Quellcode

    1. if(keyboard_check(vk_space))
    2. {
    3. //dein code
    4. }


    sinn des ganzen: wenn du space drückst, wird image_angle auf 20 gesetzt. und 10 steps später auf -20. wenn du aber vor diesen 10 steps space wieder loslässt, wird image_angle auf 0 gesetzt (wegen des release-events) und dann auf -20 durch den alarm.
  • EDIT: SUPER,hat alles geklappt...

    Original von CAS
    also so, wie ich das verstanden habe, willst du doch, dass, wenn man space drückt, image_angle = 20 wird, wenn man space gedrückt hält soll es -20 werden, und wenn man space loslässt, soll es 0 sein, richtig?

    falls ja:
    es gibt key-events, press-key-events und release-key-events.
    so wie es sich anhört hast du das space-event benutzt.
    benutze stattdessen das press-space-event, und mach dort alles rein, was bei dir im space event drin steht (das space-event dann natürlich entfernen.)

    mal zum unterschied zwischen beiden:

    press-space-event:
    - du drückst space, press-space-event wird aktiviert, der alarm wird gesetzt.
    - du hälst space, press-space-event macht nix mehr.
    - der alarm tritt ein, image_angle wird -20.

    space-event:
    - du drückst space, space-event wird aktiviert, der alarm wird gesetzt.
    - du hälst space, das space-event wird mit jedem step neu ausgeführt, der alarm wird immer wieder neu gesetzt
    - der alarm wird nie eintreten, da er immer wieder auf 10 gesetzt wird.


    so, und jetzt zum alarm0-event:
    packe den ganzen code, der da steht, in folgende if-condition:

    GML-Quellcode

    1. if(keyboard_check(vk_space))
    2. {
    3. //dein code
    4. }


    sinn des ganzen: wenn du space drückst, wird image_angle auf 20 gesetzt. und 10 steps später auf -20. wenn du aber vor diesen 10 steps space wieder loslässt, wird image_angle auf 0 gesetzt (wegen des release-events) und dann auf -20 durch den alarm.



    Stimmt, ich habe nur das Space-Event und das release-Space-Event genommen.

    Genau diesen Codeschnipsel habe ich gesucht.....

    Danke CAS, probiere es nachher aus... falls es nicht klappt melde ich mich noch
    Was man mit Händen baut, kann auch mit Händen zerstört werden...

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

  • Benutzer online 1

    1 Besucher