Brauche ein tutorial um alarmevents verwenden zu können

  • GM 7
  • Brauche ein tutorial um alarmevents verwenden zu können

    hi leute,

    viele dinge die man programmieren muss, dürfen erst nach einer bestimmten zeit eintreten etc.
    das problem ist das ich selber noch nicht so ganz verstanden habe wie man mit den alarm events umgeht.

    Desshalb brauche ich ein tutorial, wo mir die alarmevents erklährt werden. ich hab schon in der hilfe nachgeschaut, aber da ist nichts was ich meine...

    kennt einer ein tut? oder kann mir des einer kurz erklähren??? (ich weiß ja nicht wie umfangreich das ist...)
    also ich kann alarmevents selber nicht verwenden, weil ich echt noch keine ahnung davon habe...


    gruß gruen..


  • Also...
    Es gilt folgendes:
    Wir wollen ein Alarmevent erstellen, das 3 Sekunden runterzählt, sobald man eine Taste drückt.

    Wir definieren also im Keyboard-Event:

    GML-Quellcode

    1. alarm[0]=90

    Mit dem Befahl "alarm" sagst du dem alarm-Event wie lange er zählen soll. Die Zahl in Klammern gibt die Nummer des Events an. Sie reicht von 0-9 (soweit ich weiß). Die Zahl am Ende gibt die Zählzeit an.90 steht in unserem Fall für 3 Sekunden. Warum? Das kommt auf das Room-Speed an. Das ist Standartmäßig 30. 30 Steps sind also 1 Sekunde. Folglich sind 3 Sekunden 90 Steps. Das alarm-Event zählt von alleine runter, also ist alles was du jetzt noch tun musst, das passende Alarm-Event auszuwählen (in unserem Falle 0) und irgendetwas dort hineinzuschreiben, das passeiren soll, sobald der Counter abgelaufen ist. Ich hoffe, das war verständlich erkläert.

    (Für Fehler hafte ich nicht, ich habe schon lange nicht mehr mit dem GM gearbeitet :D )

    ,-Megamag

    Magical dream time!
  • KröteGAMES schrieb:

    Ja, es ist egal


    Es ist zwar egal aber ich würde trotzdem mit dem 1.
    anfangen und mit dem 11.(Es sind nämlich 11) aufhören dann hast du nen
    besseren Überblick... ;)
    Ihc hab so voll den ij
  • levarris07 schrieb:

    das Problem ist aber auch, dass wenn man die Taste öfter drückt, der Alarm immer zurückgesetzt wird.


    Definiere ne Variable. Wenn du den Alarm auslösen willst, fragt er ab, ob var = 1 ist. Beim ersten Durchlauf ist diese natürlich 0. Nach Ausführen des Alarmevents setzt zu die var = 1. Da bei der Abfrage diesmal die Bedingung wahr ist, wird das Alarm event nciht ausgeführt und damit nicht zurückgesetzt.
  • Jaja ich weiß schon, ich wollte das nur Gruen sagen. xD
    ...Oder du auch.
    Aber es gibt eine einfachere Sache:

    ich weiß nicht ob das passt aber ich frags einfach mal hier: kann man alarm events abfragen? also wie viel schon rum ist von der zeit
    ja geht
    - Also gehts auch einfacher.
    Ich müsste nur noch die funktion finden XS
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • sobald man eine Alarm aktiviert hat is er eine normale variable. Also mann kann sie über all benutzen.

    Um zumbeispiel einen Countdown zu machen kanns du das hier benutzen:
    Event zum starten des Countdowns:

    GML-Quellcode

    1. alarm[0] = fps*time // time ist die zeit in Sekunden




    dann im Draw-event:

    GML-Quellcode

    1. draw_text(x,y,alarm[0]/fps)

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • jo klasse, danke für die vielen antworten :)

    lg gruen

    edit 1

    in den letzten tagen ist mir aber eine neue frage aufgekommen....

    was ist wenn man mehr braucht als nur 12 alarmevents????
    es könnte ja durchaus vorkommen, das mehrere sachen zeitlich abgestimmt werden müssen, so das diese 12 aleine nichtmehr ausreichen...

    was kann man dann machen??? kann man vieleicht ihrgendwie noch mehrere erstellen oder wie wird das geregelt????


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

  • Wenn du nur mit einem Objekt die Alarm-Events verwendest, (ein alarm-event gilt nur für das jeweilige Objekt)
    könntest du selbst alarms machen:

    Create Event:

    GML-Quellcode

    1. my_alarm1=0


    Step Event:

    GML-Quellcode

    1. my_alarm1-=1
    2. if my_alarm1<=0
    3. {
    4. my_alarm1=0
    5. }


    das_event_das_den_alarm_starten_soll-Event:

    GML-Quellcode

    1. my_alarm1=30
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • levarris07 schrieb:

    Wenn du nur mit einem Objekt die Alarm-Events verwendest, (ein alarm-event gilt nur für das jeweilige Objekt)
    könntest du selbst alarms machen:

    Create Event:

    GML-Quellcode

    1. my_alarm1=0


    Step Event:

    GML-Quellcode

    1. my_alarm1-=1
    2. if my_alarm1<0
    3. {
    4. my_alarm1=0
    5. }


    das_event_das_den_alarm_starten_soll-Event:

    GML-Quellcode

    1. my_alarm1=30

    Die Lösung ist zwas ansatzweise gut, hat aber ein problem:
    mit

    GML-Quellcode

    1. if my_alarm1<=0
    2. {
    3. my_alarm1=0
    4. }

    bewirkst du dass der alarm immer ausgeführt wird, esseidenn er zählt gerade runter. es müsste also:

    GML-Quellcode

    1. if my_alarm1<0
    2. {
    3. my_alarm1=-1
    4. }

    heißen damit es nur einmal ausgeführt, und dann wieder auf einen sonst unerreichbaren wert gesetzt wird.
    Zum Ausführen des Alarmevents wird dann im step event:

    GML-Quellcode

    1. if my_alarm1==0
    2. {
    3. //do anything
    4. }
  • Benutzer online 1

    1 Besucher