Editor Objekte

Wie man Lichter Groupen mit dem Collection Manager erstellt

Lichter auswählen womit sie eine Groupe erstellen wollen.

 

Table/Collection Manager auswählen

 

Klicke auf Create From Selection

Erstellen sie eine Groupe und nennen sie Collection1

 

New - erstellt ein neue Gruppe (Collection)

Create From Selection - Erstellt eine Gruppe aus den ausgewählten Objekten vom Tischeditor.

Edit - Öffnet den Gruppeneditor

Delete - Löscht eine Gruppe

Rename - Eine Gruppe umbenennen

   
Es befinden sich schon 2 Gruppen in der Datei.

Wählen sie RedLights und klicken auf Edit

 

Das folgende Fenster öffnet sie wenn sie auf Edit drüken .  

Name - Collection1 Der Name der Gruppen, kann umbenannt werden, und ist somit im Script verwendbar.

Not Included - Liste der Objekte die nicht in der Gruppe eigeschlossen sind.

Included - Liste der Objekte die sicht der Gruppe befinden.

> - neues Objekt in die Gruppe einfügen

< - Objekt aus der Gruppe entfernen.

Up - Das ausgewählte Ojekt in der Liste höher stellen.

Down - Das ausgewählte Ojekt in der Liste tiefer stellen.

Fire Events for this collection - Fire Ereignisse??

Suppress individual events for each member - Zugriff auf einzelne Objekte in der Liste verwähren.



Hier ein Demo für ein Script dass den Zustand von Lichter und der Status Light.State verwendet.

Verwenden sie DemoLights.zip

Verwenden des Befehls "For Each" in einem Script.

Beispiel:

Dim light

For each light in RedLights
light.State = LightStateOn
Next

Die Variable 'light' wird von allen Licht Elememnte der Gruppe verwendet unabhängig vor der Grösse. Diese Methode erlaubt Aenderungen für eine komplette Gruppe.

In der Demo, löst die Taste keycode eine Routine aus die den Zustand der Lichter ändert.

If keycode = PlungerKey Then
Plunger.Fire


In diesem Teil löst das nachlassen der Plungertaste ein Löschen der Lichter aus.

If keycode = LeftFlipperKey Then
LeftFlipper.RotateToStart
PlaySound "FlipperDown"



In diesem Teil löst die linke Flippertaste das erlöchten der Lichter aus.

 

If keycode = RightFlipperKey Then
RightFlipper.RotateToStart
PlaySound "FlipperDown"

In diesem Teil löst die rechte Flippertaste das blinken der Lichter aus.


'Lichter Zustand 0 = LightStateOff (gelöscht)
' 1 = LightStateon (brennt)
' 2 = LightStateBlinking (blinkt)

'************************* Array
'Verwendung einer Array Variable um den Lichter Zustand zu ändern

LightsArray = Array(Light1,Light2,Light3,Light4,Light5,Light6,Light7,Light8)
For a = 0 to 7 'a ist ein Wert zwische 0 und 7 = 8 lights
LightsArray(a).State=2 'Licht blinkt
Next

'************************* Collections
' Green Lights & Red Lights & Blue Lights sind Lichtgruppen
'Um die einzelnen Elemente zu sehen , wählen sie
'Table / Collection Manager (Select a collection) / Edit

' Die Gruppe verwendet den Befehl "For Each"
For Each Light in GreenLights
Light.state = LightStateBlinking 'or 2
Next


For Each Light in Redlights
Light.State=2 'ou LightStateBlinking 'les 3 lumières rouges au-dessus des the flippers
Next

'Man kann auch Tabellevariabeln (Arrayvariabeln) verwenden. "For Each" ist jedoch oft einfacher.
For a = 0 to 11 '0 bis 11 = 12 Lichter, 0 zählt als erste Zahl
BlueLights(a).State=2 ' 12 blaue Lichter blinken in Uhrzeigerrichtung (Siehe Pattern Option für den Effekt)
Next


'************************* Setting Lights
'Diese Option braucht länger zu schreiben :)
Dim Red12Lights(11)

Set Red12Lights(0) = r1
Set Red12Lights(1) = r2
Set Red12Lights(2) = r3
Set Red12Lights(3) = r4
Set Red12Lights(4) = r5
Set Red12Lights(5) = r6
Set Red12Lights(6) = r7
Set Red12Lights(7) = r8
Set Red12Lights(8) = r9
Set Red12Lights(9) = r10
Set Red12Lights(10) = r11
Set Red12Lights(11) = r12


For a = 0 to 11 '0 bis 11 = 12 Lichter
Red12Lights(a).State=2 '12 rote Lichter blinken in Gegenuhrzeigerrichtung (Siehe Pattern Option für den Effekt)
Next

Achtung die Beispieldateien sind nicht übersetzt worden.

Notiz: Jede Methode hat vor und Nachteile es kommt auf die verwend drauf an. Die Letzt trotz mehr Schreibaufwand kann durch bessere Lesbarkeit des Scripts in aufwendigen und schwierigen Scripts die Mehrarbeit ausgleichen . Soll ein Licht einzel sowohl als Gruppe gesteuert werde ist sie die bessere Wahl.


zum Index