CAAD.HBT.ETHZ.CH . Caad0405 . UbunG1

ETH Zuerich - Startseite
Professur für CAAD

 


caad d-arch

Übung 1 Interface
Interface - Infrastruktur

Die Kommunikation zwischen den Interfaces und der Infrastruktur der roten Hölle funktioniert ausschliesslich über den Austausch von Nachrichten. Diese Nachrichten sind in XML beschrieben. spaceboxComm.PNG Die Verbindung des Interfaces mit dem Rechner/Server der roten Hölle, wird in der Flash-spezifischen Actionscript-Datei spacebox_logic.as definiert und muss von Ihnen nicht eigenständig erarbeitet werden. Hierbei ist es wichtig, dass Sie die Zusammenhänge zwischen den Interfaces und der Infrastruktur in der roten Hölle verstehen. Im Anhang dieser Seite befindet sich das PDF-Dokument spaceBoxCommunication.pdf, in dem das Kommunikationsmodell in der roten Hölle beschrieben wird.

Lampen- und Neonröhren
Rote_Hoelle_Layout.png
Integration der Actionscript-Datei
Die nachfolgenden Punkte erklären Schritt für Schritt wie die Actionscript-Datei in eine Flash-Anwendung integriert wird und welche Funktionen sie der Flash-Anwendung zur Verfügung stellt.
  • Kopieren Sie die Datei "spacebox_logic.as" von dieser Seite auf ihre Festplatte.
  • Die Datei "spacebox_logic.as" muss im gleichen Verzeichnis wie die Flash Datei liegen.
  • Im ersten Frame vom Layer 1 muss folgende Programmzeile stehen: #include "spacebox_logic.as"
  • Um das Licht oder die Scheibe zu steuern, muss man dem Server eine XML Datei schicken oder eine Funktion aufrufen, die in der Action-Scriptdatei "spacebox_logic.as" definiert ist:
  • Sobald die Actionscript-Datei im Flsah geladen ist, kann man mit einfachen Funktionsaufrufe die Spotlights und Neonröhren ansteuern:
    • NR1(40); diese Funktion dimmt die Neonröhre NR1 auf 40%
    • ElementID(VALUE); ist die allgemeine Syntax
  • In der roten Hölle können 10 Spotlights, 5 Neonröhren und die Scheibe gesteuert werden.
    • Licht
      • ElementID
        • LS1, LS2, LS3, ... LS10 (Spotlights)
        • NR1, NR2, NR3, ... NR5 (Neonröhren)
        • switchAll steuert alle Spotlights und Neonröhren
      • VALUE
        • 0 - 100 (0=Licht aus, 100=Licht 100% an)
    • Scheibe
      • ElementID
        • WINDOW
      • VALUE
        • 0 oder 1 (0=opak, 1=transparent)
  • Bei mehreren gleichzeitigen/parallelen Aufrufen empfiehlt es sich aber auf die einfachen Methoden zu verzichten und die XML-Nachrichten direkt an die rote Hölle zu schicken. Dieser nachfolgend aufgeführte Aufruf steuert beispielhaft LS1, NR2 und Window. Bei den einzelnen <request> Tags veranlasst der Aufruf der Methode setLevel, dass sich das jeweilige Element entsprechend dimmt:
    • <spacebox>
         <request>
            <rcbox>
               <id>LS1</id>
               <method>setLevel</method>
               <value>100</value>
            </rcbox>
            <rcbox>
               <id>NR2</id>
               <method>setLevel</method>
               <value>0</value>
            </rcbox>
            <rcbox>
               <id>WINDOW</id>
               <method>setLevel</method>
               <value>1</value>
            </rcbox>
         </request>
      </spacebox>
    • Die XML Datei muss in action script als eine Zeichenkette ohne Umbrüche geschrieben werden: <spacebox><request><rcbox><id>LS1</id><method>setLevel</method><value>100</value></rcbox><rcbox><id>NR2</id><method>setLevel</method><value>0</value></rcbox><rcbox><id>WINDOW</id><method>setLevel</method><value>1</value></rcbox></request></spacebox>
    • Die XML Zeichenkette wird in den Befehl sockOsgi.send("..."); eingebettet.

Eine Auflistung aller Möglichkeiten mit dem roten Hölle zu kommunizieren findet man hier.

Die Flash Datei funktioniert aus Sicherheitsgründen nur lokal auf dem Rechner. Eine SWF Datei, die auf den TWiki gelegt wurde kann keine Verbindung zu Server herstellen.

Revision r11 - 26 Jan 2005 - 08:00 - MathiasOchsendorf?
Parents: WebHome > InterFace > MaTerialien

Caad0405.UbunG1 moved from Caad0405.UbunG on 13 Oct 2004 - 12:47 by MathiasOchsendorf? - put it back

This website has been archived and is no longer maintained.