Konfiguration
Damit das Haus angepasst werden kann, werden verschiedene Einstellungen in der Datei
settings.xml
vorgenommen. Diese läßt sich mit XML-Editoren (wie zum Beispiel XMLSpy) aber auch mit
einfachen Texteditoren bearbeiten. Die Datei muss im Format UTF-8 abgespeichert werden. Ansonsten kann es zu Darstellungsfehlern bei
den Umlauten kommen.
Die Konfigurationsdatei befindet sich im selben Verzeichnis wie die SWF-Datei.
Struktur der Konfigurationsdatei
Die Konfigurationsdatei ist in zwei große Bereiche gegliedert, welche die Einstellungen für Haus-Elemente und für die einzelnen Komplexe enthalten.
Das Wurzelelement <settings>
der XML-Datei enthält alle weiteren Konfigurationselemente. Die Eigenschaften für das Haus werden in den Knoten <element>
festgelegt, welche verschiedene Attribute enthalten können. Das Attribut name zeigt an, auf welchen Bestandteil des Hauses die Einstellungen angewendet werden.
Elemente beschreiben globale Eigenschaften, welche das Aussehen und Verhalten des Hauses bestimmen. In den folgenden Abschnitten, werden die Elemente und deren Bedeutungen beschrieben.
<settings> <element name="element1" attribut1="value1" attribut2="value2"/> <element name="element2" attribut1="value3" attribut2="value4"/> ... <komplexe> <text name="komplex1" enabled="false" label="Komplex1">Beschreibung für Komplex1</text> <text name="komplex2" enabled=""true" label="Komplex2">Beschreibung für Komplex2</text> </komplexe> </settings>
Run Time Environment (RTE)
Verwendung von Flashhouse in einem HTML-Projekt
Die RTE gibt an, in welchem technischen Kontext das Flashhouse ausgeführt wird. Dafür wird das Attribut container
verwendet. Wenn das Flashhouse in eine HTML-Seite eingebunden ist, muss container="browser"
gesetzt werden.
<element name="rte" container="browser"/>
Flashhouse geht von einer vorgegebenen Struktur des HTML-Projektes aus. Demnach sind die einzelnen Lernkomplexe in Ordnern abzulegen, welche nach einem bestimmten Schema bezeichnet sind.
Die Säulen werden mit Buchstaben a-z
bezeichnet. Die Ebenen werden durchnummeriert. An jedem Schnittpunkt einer Säule mit einer Ebene wird ein Lernkomplex angesiedelt, dessen Bezeichnung sich aus dem Buchstaben der Säule und der Nummer der Ebene zusammensetzt ( a1
, a2
, ... , c5
, usw.) Im Dach werden die Komplexe mit dach1
, dach2
usw. benannt, die Komplexe in der Basis analog mit basis1
, basis2
, ...
Für jeden Lernkomplex muss ein Verzeichnis mit einer solchen Bezeichnung vorhanden sein.
Die Auswahl eines Komplexes im Haus führt dann dazu, dass im Browser die Datei index.html im jeweiligen Verzeichnis aufgerufen wird. Im Beispiel in der Abbildung ist das Flashhouse ( haus.swf
) in haus.html
eingebunden die Unterverzeichnisse beinhalten die Lernkomplexe, welche innerhalb des Verzeichnisses beliebig weiter strukturiert sein können. Ein einfaches Beispiel für diese Verwendung von Flashhouse kann über sourceforge.net bezogen werden.
Verwendung von Flashhouse in einem Authorware-Projekt
Die zweite Möglichkeit, das Flashhouse zu nutzen, ist dessen Verwendung in Macromedia Authorware. Dazu wird dem Attribut container
der Wert aw
zugewiesen.
<element name="rte" container="aw"/>
Für die Einbindung von Flashhouse in Authorware steht eine spezielle Komponente zur Verfügung, die den Flashplayer von Macromedia als ActiveX nutzt. Dazu wird in Macromedia Authorware das Icon “FlashActiveX” verwendet und über ein Script in einem “Calculation” Icon initialisiert (siehe Abbildung).
Für die Navigation in Authorware wird fscommand
verwendet, das ist ein Befehl in Actionsctript, der einen speziellen Mechanismus von Macromedia für den Austausch von Daten anspricht. Dabei wird in einer Variablen (nav2
) die Bezeichnung des im Flashhouse gewählten Lernkomplexes gespeichert, die dann innerhalb von Authorware ausgewertet und zur Navigation verwendet werden kann. In der obigen Abbildung ist dargestellt, wie diese Navigation erfolgen kann. Hier wurden die Komplexe in einem so genannten “Framework” angesiedelt und nach der bereits beschriebenen Weise benannt.
Haus
Das Element mit dem Namen haus enthält die Parameter width
, height
, x
, y
, womit die Maße (Breite und Höhe) für das Haus angegeben werden sowie die Position. X
bezeichnet dabei den horitontalen Abstand zum linken Rand und y
den vertikalen Abstand zum oberen Rand in Pixel.
<element name="haus" width="412" height="465" x="5" y="5"/>
Dach
Das Dach des Hauses wird durch den Namen dach
identifiziert. Die Höhe wird im Attribut height
in Pixel angegeben. Das Attribut color
enthält einen hexadezimalen Farbwert, dem 0x
vorangestellt wird. Die Einstellungen für die Schaltflächen im Dach werden über die Attribute btn
(Anzahl) und oneLine
beschrieben. Es kann festgelegt werden, ob die Schaltflächen in einer einzigen Zeile im Dach angeordnet werden sollen, oder ob sie in mehreren Zeilen im Dach verteilt werden sollen. Einen entsprechenden booleschen Wert (true
/false
) enthält das Attribut oneLine
.
<element name="dach" height="130" color="0xAADD99" btn="2" oneLine="false"/>
Säulen und Ebenen
Die Maße für die Säulen und Ebenen ergeben sich aus deren Anzahl und Positionierung. Diese Angaben werden in den Elementen saeulen
und ebenen
abgelegt. Das Attribut anzahl
gibt die Zahl der Ebenen und Säulen an. Im Element saeulen
steht das Attribut dist
für den horizontalen Abstand der Säulen vom rechten Rand sowie von den linken Ebenenschaltflächen. Das Attribut dx
gibt den Abstand zwischen den einzelnen Säulen an. dy
steht für den vertikalen Abstand der Säulen zum unteren Rand des Daches. Die Farbe wird bei Säulen und Ebenen im Attribut color
hexadezimal angegeben.
<element name="saeulen" anzahl="2" dist="5" dx="5" dy="5" color="0xAADD99"/>
<element name="ebenen" anzahl="2" dist="10" dy="5" color="0xAADD99"/>
Bei dem Element ebenen
wird mit dem Attribut dy
der Abstand zwischen den Ebenen angegeben. Der vertikale Abstand der Ebenen zum Dach wird aus dem Attribut dist
berechnet.
Basis
Für die Basis wird im Element basis
außer der Anzahl der Schaltflächen im Attribut btn
und dem hexadezimalen Farbwert im Attribut color
noch das Attribut dist
mit einem Wert für einen zusätzlichen Abstand der Basis von der untersten Ebene festgelegt.
<element name="basis" btn="2" dist="20" color="0xAADD99"/>
Schaltflächen
Jede Schaltfläche wird beim Überfahren mit der Maus (hover) hervorgehoben. Die Farbe dafür kann im Element button
mit dem Attribut btnColor
angegeben werden. Dafür sind die Werte haloOrange
, haloBlue
und haloGreen
zulässig.
<element name="button" btnColor="haloOrange"/>
Ausnahmen
Für einen besonderen Fall wurde eine Ausnahme eingeführt, welche die Anordnung von Schaltflächen zwischen benachbarten Ebenen ermöglicht. Dazu wird das Element exception
verwendet, welchen im Attribut element
angibt, dass es sich die Ausnahme auf eine Säule bezieht. (Für Ebenen ist eine solche Ausnahme auch denkbar, aber bisher nicht geplant.) Das Attribut id
gibt an, auf welche Säule die Ausnahme angewendet werden soll. Die derzeit einzige Art der Ausnahme ist connect
. Falls die Ausnahme auf mehrere Säulen angewendet werden soll, kann die Zeile exception
kopiert werden. Dann ist nur die id
der Säule anzupassen.
<element name="exception" element="saeulen" id="b" type="connect"/>
Beschreibung der Lernkomplexe
Für jeden Lernkomplex kann eine Beschreibung des Inhalts abgelegt werden, die dann neben dem Haus angezeigt wird. Desweiteren können Schaltflächen deaktiviert werden und Schaltflächen im Dach, in der Basis sowie die Säulen- und Ebenenschaltflächen können spezielle Beschriftungen erhalten. Innerhalb des Bereiches komplexe
, der für jeden Lernkomplex ein Element text
enthält, werden diese Einstellungen vorgenommen. Die Beschreibung für einen Komplex befindet sich zwischen dem öffnenden Tag <text>
und dem schließenden Tag </text>
. Die Attribute für den Lernkomplex werden im öffnenden Tag angegeben. Das Attribut name gibt den Lernkomplex an. Die Aktivierung eines Lernkomplexes erfolgt im Attribut enabled
, welches einen boolschen Wert (true
/false
) annimmt. Wie eine Schaltfläche beschriftet werden soll, kann im Attribut label
angegeben werden. wenn der Text länger ist, als die Schaltfläche erlaubt, wird er an den Rändern der Schaltfläche abgeschnitten. Allerdings gilt dieses Attribut nicht bei den Komplexen, die sich aus den Säulen- und Ebenenbezeichnern zusammensetzen.
<text name="a" enabled="false" label="pillar A">In diesem Komplex lernen Sie ...</text>
Beispiel einer Konfigurationsdatei
<settings> <element name="rte" container="browser"/> <element name="haus" width="412" height="465" x="5" y="5"/> <element name="dach" height="130" color="0xAADD99" btn="2" oneLine="false"/> <element name="saeulen" anzahl="2" dist="5" dx="5" dy="5" color="0xAADD99"/> <element name="ebenen" anzahl="2" dist="10" dy="5" color="0xAADD99"/> <element name="basis" btn="2" dist="20" color="0xAADD99"/> <element name="button" btnColor="haloOrange"/> <element name="exception" element="saeulen" id="b" type="connect"/> <komplexe> <text name="a" enabled="false" label="pillar A">Enter your description for the learning module A here.</text> <text name="a1" enabled="true">Enter your description for the learning module A1 here.</text> <text name="a2" enabled="true">Enter your description for the learning module A2 here.</text> <text name="b" enabled="true" label="pillar B">Enter your description for the learning module B1 here.</text> <text name="b1" enabled="true">Enter your description for the learning module B1 here.</text> <text name="1" enabled="false" label="1st floor">Enter your description for the learning module 1 here.</text> <text name="2" enabled="false" label="2nd floor">Enter your description for the learning module 2 here.</text> <text name="dach1" enabled="false" label="Introduction">Enter your description here!</text> <text name="dach2" enabled="false" label="Structure">Enter your description here!</text> <text name="basis1" enabled="true" label="Basis1">Enter your description here!</text> <text name="basis2" enabled="false" label="Basis2">Enter your description here!</text> </komplexe> </settings>