Also ich habs mal getestet ^^

Der Maker arbeitet anscheinend in einem Rechentakt immer einen Befehl pro parallel Event (wartet also wahrscheinlich diesen Takt lang bis alle Events einen Schritt weiter sind). Switch umschalten, Variablen einstellen uÄ. scheint die gleiche Zeit, also einen Rechentakt, zu benötigen.

Ich habe folgenden Test versucht:

1. erstellt ein neues Projekt
2. Map verkleinern (20x15) und mit Gras-Chips füllen
3. zwei Events erstellen mir der Start Condition "Parallel Process"
4. die drei ersten Variablen benennen: "test", "zähler1" und "zähler2"
5. das erste Event mit diesem Code füllen:
Code:
< > Label 1#
< > Change Variable: Var[0001:test] + 1
< > Change Switch: Var[0001] Switch ON
< > Change Switch: Var[0001] Switch ON
< > Change Switch: Var[0001] Switch ON
< > Change Switch: Var[0001] Switch ON
< > Change Switch: Var[0001] Switch ON
< > Change Variable: Var[0001:test] - 1
< > Change Variable: Var[0001:zähler1] + 1
< > Goto Label 1#
6. das zweite Event mit diesem Code füllen:
Code:
< > Label 1#
< > Change Switch: Var[0001] Switch ON
< > If Var[0001:test]
  < > Play Sound Effekt:Blow5
  < >
:Else Case
 < > Change Switch: Var[0001] Switch ON
 < >
:End Case
< > Change Switch: Var[0001] Switch ON
< > Change Variable: Var[0001:zähler1] + 1
< > Goto Label 1#
Im ersten Event wird eine Variable auf 1 und nach mehreren Fülloperationen wieder auf null gesetzt. Das zweite Event überprüft während der Fülloperationen diese Variable. Und tatsächlich erkennt er die zwischenzeitliche Veränderung, was man an dem nervigen Dauerton sehr gut erkennen kann.

Mit F9 und den beiden Zähler-Variablen lässt sich das Geschwindigkeitsverhältnis der Events einsehen. Beide müssten genau gleich schnell laufen. Dadurch ist gewährleistet, dass die Fülloperationen des ersten Events und die If-Abfrage des zweiten Events gleichzeitig stattfinden.

OK, eins steht fest: Die Variablen werden wahrscheinlich global verarbeitet. Aber eine ganz andere Sache ist etwas merkwürdig:
Lässt man im Else-Teil die Switchänderung weg, wird das Event schneller durchgearbeitet. Befehle im Else-Teil einer Bedingung scheinen Rechenzeit zu beanspruchen, auch wenn der Else-Teil nicht aufgerufen wird.
(Fügt man im ersten Event und im Else-Teil des zweiten Events noch einmal ChangeSwitch ein, kommt kein Ton mehr; bei noch einem Befehl mehr, laufen die Events nicht mehr gleich schnell...)



CapSeb