Bestimmte Events deaktivieren

  • GM 8
  • Bestimmte Events deaktivieren

    Da ich mir jetzt die Standart Version des Game Makers zugelegt habe und nun an meinem Projekt weiter arbeiten kann, habe ich mal eine Frage:
    Man kann ja mit

    GML-Quellcode

    1. instance_deactivate_object(obj)
    bestimmte Instanzen deaktivieren, kann man auch nur bestimmte Events deaktivieren? Vielleicht mit "event_deactivate". Das wär' wichtig für mein Projekt. Wenn mein Projekt fertig ist oder einigermaßen zuende sein scheint, werde ich euch es hier bestimmt auch vorstellen ;).

    MfG Clark :troll:

    DigitalClark

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Clark ()

  • Events deaktivieren kann man über eine Funktion nicht, soweit ich weiß. Du kannst höchstens Events löschen mit object_event_clear(object_index,evtype,evnumb);.

    Du könntest dein Problem aber mit einer einfachen if-Abfrage lösen. Wenn du z.B. das Step-Event deaktivieren willst, deklarierst du dir eine boolsche Variable mit dem Namen performStep (oder wie du sie benennen willst) und wenn performStep auf true ist, dann wird es ausgeführt, wenn es auf false ist nicht. Also im Step-Event kommt, dann das hier rein:

    GML-Quellcode

    1. if(performStep){
    2. /*Hier kommt der komplette Step-Event Code rein*/
    3. }


    Hoffe das hilft ein wenig.

    MfG Trixt0r

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • Trixt0r schrieb:

    GML-Quellcode

    1. if(performStep){
    2. /*Hier kommt der komplette Step-Event Code rein*/
    3. }
    Also "performStep" ist eine Variable und wenn das auf true gestellt wird (wie "performStep = true") wird es ausgeführt :wacko:?
    Hilft mir schon, aber kann man eine Textdatei erstellen, indem die Codes geschrieben sind und dann werden sie per Mausklick geöffnet?
    Ich müsste dann nur wissen, wie man eine Textdatei erstellt :).

    DigitalClark
  • Clark schrieb:

    Also "performStep" ist eine Variable und wenn das auf true gestellt wird (wie "performStep = true") wird es ausgeführt :wacko:?
    Ja genau. Aber du brauchst dann auch für jedes Event eine Variable.

    Clark schrieb:

    Ich müsste dann nur wissen, wie man eine Textdatei erstellt :).
    Wie wärs mal mit: "in die Hilfe schauen"? Da du ja GML Fortgeschrittener bist, müsste dir das hier wohl Hilfe genug sein (schau unter "F" nach). Und wenn das nicht reicht, dann schau mal in mein Tutorial .

    MfG

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • Trixt0r schrieb:

    Wie wärs mal mit: "in die Hilfe schauen"? Da du ja GML Fortgeschrittener bist, müsste dir das hier wohl Hilfe genug sein (schau unter "F" nach). Und wenn das nicht reicht, dann schau mal in mein Tutorial .

    Ja :S
    Mach ich auch... Manchmal :P
    Naja ich kenne mich auch gut mit GML aus, bin auch Fortgeschrittener, weiß aber nicht alles ;)
    Aber danke dein Tutorial hat mir sehr geholfen :)

    P.S.: Diese Page kannte ich noch nicht :thumbsup:

    DigitalClark
  • Also ich habe wahrscheinlich wieder eine umständliche Idee aber immerhin beim erstellen eines Objekts bei dem ein Event ausgeschaltet werden soll erstellst du eine Variable nennen wir sie z.b "var" diese setzt du auf true und wenn das Event ausgeschaltet werden soll setzt du die Variable auf false in das Event das ausgeschaltet werden soll machst du das rein:

    GML-Quellcode

    1. if var=true
    2. {
    3. //Hier das Event rein!
    4. }

    Und dann müsste es funktionieren. Kannst ruhig fragen wenn du etwas nicht verstehst!
    Mfg Rohkar
  • Rohkar schrieb:

    Also ich habe wahrscheinlich wieder eine umständliche Idee aber immerhin beim erstellen eines Objekts bei dem ein Event ausgeschaltet werden soll erstellst du eine Variable nennen wir sie z.b "var" diese setzt du auf true und wenn das Event ausgeschaltet werden soll setzt du die Variable auf false in das Event das ausgeschaltet werden soll machst du das rein:

    Das ist ja das selbe, wie Trixt0r es meinte? Aber so würd ich das auch lösen.

    P.S.: var würde ich diese Variable nicht nennen. ICh weiß zwar jetzt nicht mehr genau wie man diesen Typ nennt, aber wenns mich nicht ganz deuscht ist das "var" ein Zeichen dafür, das die Variable lokal ist.

    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.
  • False ist gleich wie 0. Und True sind alle Zahlen außer 1.
    Du kannst auch ifs machen ohne wirkliche "Vergleiche" zu machen..

    GML-Quellcode

    1. if(x==3)

    Dies wirst du ja kennen. Wenn x jetzt 3 ist, dann wär ja 3==3 und da dies war ist, liefert das true zurück (1). Und dann ist das ja so wie if(true).
    Du kannst aber auch (braucht man aber eig. nicht^^)

    GML-Quellcode

    1. if(3*x)
    schreiben
    In dem Fall würde er nur in den "else" bereich gehen wenn x=0 ist, da 0*3 0 ist. Ich weiß nicht ob ich dies jetzt verständlich erklärt habe...

    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.