vor 3 Wochen
Ich möchte in einem GDL-Objekt in 2D diverse Flächen mit Hotspots verschieben. Das ist kein Problem.
Die Verschiebehotspot-Parameter sind Array-Parameter. Ich möchte außerdem auf die unterschiedlichen Verschiebungen unterschiedlich reagieren.
Dazu benötige ich, so vermute ich, einen Vergleichsparameter, um nach der Verschiebung abfragen zu können, welche Fläche wurde um welchen Wert verschoben, dann reagiere ich mit diesem oder jenem Skript. Das Abspeichern der Ursprungswerte soll automatisch durch das Verschieben der Flächen angeschoben werden (oder vorher), und muss solange vorhanden sein, bis die nächste Verschiebung erfolgt und der Vergleich von neuem angestellt werden soll.
So klappt es jedenfalls nicht:
PARAMETERS diff_x[1] = tX[1] - hilfX[1]
IF glob_modpar_name = "tX" THEN
PARAMETERS hilfX[1] = tX[1]
ENDIF
Operating system used: Mac Apple Silicon 14-Sonoma
vor 3 Wochen
Das ist nicht ganz einfach, weil du zeitliche Zustände beachten musst. Wenn der Fangpunkt bewegt wird, wird das Parameter Skript ständig ausgeführt, bis du "los lässt". daher ist
glob_modpar_name
immer "tx"
Lege mal einen zusätzlichen Parameter an und nenne den toggle (boolean) und last_tX (Array, real/Länge). Vielleicht wird das was:
IF glob_modpar_name <> "tX" THEN
PARAMETERS toggle = 0
ENDIF
IF glob_modpar_name = "tX" AND toggle = 0 THEN
PARAMETERS toggle = 1, last_tX = tx
ENDIF
Außerdem:
DIM diff_x[]
diff_x[1] = tX[1] - last_tX[1]
würde ich ins Master oder 2D-Skript packen. Das brauchst du glaube ich nicht als Parameter und macht es nur komplizierter.