Verfügbare Informationen zu "XML Spezifikation für einen Raum"
Qualität des Beitrags: Beteiligte Poster: Heather Forum: silentEngine Forenbeschreibung: Adventure im Silent Hill Style aus dem Unterforum: Spezifikationen Antworten: 10 Forum gestartet am: Donnerstag 17.08.2006 Sprache: deutsch Link zum Originaltopic: XML Spezifikation für einen Raum Letzte Antwort: vor 17 Jahren, 4 Monaten, 12 Tagen, 11 Minuten
Alle Beiträge und Antworten zu "XML Spezifikation für einen Raum"
Re: XML Spezifikation für einen Raum
Heather - 21.08.2006, 21:19XML Spezifikation für einen Raum
Aufbau einer XML Datei für Räume.
Generell gilt:
keine Umlaute benutzen
nach Möglichkeit alles klein schreiben (Namen, Varaiblen usw)
Statt < im Script < verwenden
Statt > im Script > verwenden
Re: XML Spezifikation für einen Raum
Heather - 21.08.2006, 22:27
Grundaufbau
Code:<?xml version="1.0" encoding="ISO-8859-1" ?>
<room>
<events>
</events>
<background image="test.jpg" blend="solid"/>
<parallax>
<layer name="back" image="parallax.jpg"/>
</parallax>
<objects>
</objects>
<sounds>
</sounds>
<blocks>
</blocks>
<actions>
</actions>
<chat>
</chat>
</room>
<room> - Hauptzweig; beinhaltet Raumname, Angaben zur Perspektive, Kolorierung, Spieler sichtbar oder nicht
<events> - Raum Events wie OnInit, OnEnterm OnExit, OnClick, OnUpdate
<background> - Hintergrund; Bild das als Hintergrund verwendet werden soll, Blendmode (Solid, Alpha, Shade, Light)
<objects> - Objekte für Vordergrund, Hintergrund oder Kulissenobjekte
<sounds> - Alle Sounds die innerhalb des Raums genutzt werden können
<blocks> - Blöcke für Wege auf denen sich Charaktere bewegen können
<actions> - Aktionsbereiche die angeklickt werden wodurch Scripte ausgelöst werden
<chat> - Texte und Script für Unterhaltungen mit anderen Charakteren
Re: XML Spezifikation für einen Raum
Heather - 21.08.2006, 22:27
Room Hauptzweig
Code:<room name="cafe" perspectivenearest="451" perspectivefarest="595" perspectivefactor="1000" perspectiveoffset="0" red="255" green="255" blue="255" playervisible="true">
name - Name des Raums; muss eindeutig sein
perspectivenearest - Nahester Punkt an dem die Charaktere in voller Größe angezeigt werden
perspectivefarest - Entferntester Punkt an dem die Charaktere am Kleinsten angezeigt werden
perspectivefactor - Faktor der die Größe der Charaktere bestimmt
perspectiveoffset - Offset um die Größe der Charaktere zu verfeinern
red - Rotwert für die Kolorierung (Standard 255)
green - Grünwert für die Kolorierung (Standard 255)
blue - Blauwert für die Kolorierung (Standard 255)
playervisible - Spieler sichtbar oder nicht (True/False). False verwenden wenn es sich z.B. um eine Detailansicht handelt
Re: XML Spezifikation für einen Raum
Heather - 21.08.2006, 22:28
Events Zweig
Events des Raum die zu verschiedenen Zeitpunkten ausgeführt werden. Innerhalb der Unterzwiege können beliebige Scripte hineingeschrieben werden.
Code: <events>
<OnInit>
int.set("dooropen", 0)
</OnInit>
<OnEnter>
if int.get("musicplaying")==0 then
music.iplay("sd_363.ogg")
int.set("musicplaying", 1)
end
</OnEnter>
<OnExit>
-- Script code
</OnExit>
<OnClick>
-- Script code
</OnClick>
<OnClickChar>
-- Script code
</OnClickChar>
<OnUpdate>
-- Script code
</OnUpdate>
</events>
<OnInit> - Wird einmalig ausgelöst wenn der Raum geladen wird
<OnEnter> - Wird ausgelöst wenn der Spieler den Raum betritt
<OnExit> - Wird ausgelöst wenn der Spieler den Raum verlässt
<OnClick> - Wird ausgelöst wenn der Spieler mit der Maus auf den Raum klickt (egal ob auf eine Action, einen Wegpunkt oder sonstwo hin)
<OnClickChar> - Wird ausgelöst wenn der Spieler mit der Maus auf einen Charakter klickt (ausgenommen sich selber)
<OnUpdate> - Wird ausgelöst wenn die Hauptschleife der Engine einmal durchlaufen wurde, also mehrmals in der Sekunde (je nach Rechnerleistung)
Re: XML Spezifikation für einen Raum
Heather - 21.08.2006, 22:28
Background Zweig
Einstellungen für die Hintergrundgrafik.
Code:<background image="test.jpg" blend="solid"/>
image - Das Bild welches verwendet werden soll. Muss sich im selben Ordner wie die XML Datei befinden. Am Besten JPG und PNG verweden
blend - Blendmode der für das Bild verwendet werden soll (Solid, Alpha, Shade, Light)
Parallax Zweig
Erstellen von parallax Layern um z.b. Nebel, Regen oder generell bewegte Hintergründe zu erstellen.
Code:<parallax>
<layer name="back" image="parallax.jpg" blend="solid" xspeed="0" yspeed="-0.1" autoscroll="true"/>
<parallax>
name - front oder back; back = Layer hinter dem eigentlichen Hintergrund; front = vor allem anderen (Charakter, Objekte usw.)
image - Das Bild welches verwendet werden soll. Muss sich im selben Ordner wie die XML Datei befinden. Am Besten JPG und PNG verweden
blend - Blendmode der für das Bild verwendet werden soll (Solid, Alpha, Shade, Light)
xspeed - Float Wert um den sich der Layer auf der X-Achse verschieben soll
yspeed - Float Wert um den sich der Layer auf der Y-Achse verschieben soll
autoscroll - Wenn true dann scrollt der Layer automatisch um xspeed und yspeed. Z.B. um Regen oder Nebel zu simulieren
Re: XML Spezifikation für einen Raum
Heather - 21.08.2006, 22:28
Objects Zweig
Objekte für Vordergrund, Hintergrund oder Kulissenobjekte
Code: <objects>
<object id="1" name="vordergrund" image="vordergrund.png" x="0" y="446" blend="alpha" alpha="1" xhandle="40" yhandle="50"/>
<object id="2" name="mirrow" x="578" y="196" blend="solid" visible="true" alpha="1" rotation="45.352" scalex="1.234" scaley="0.34" type="kulisse" midhandle="true">
<animations image="mirrow.png" framewidth="77" frameheight="225" firstframe="0" framecount="12">
<animation name="normal" startframe="0" endframe="0" stopframe="0" speed="100"/>
<animation name="break" startframe="0" endframe="11" stopframe="11" speed="100"/>
<animation name="broken" startframe="11" endframe="11" stopframe="11" speed="100"/>
</animations>
</object>
</objects>
id - Eindeutige, vortlaufende Nummer zur Identifizierung
name - Eindeutiger Name zur Identifizierung
image - Das Bild welches benutzt werden soll. Muss sich im selben Ordner wie die XML Datei befinden.
x - X-Position des Objekts
y - Y-Position des Objekts
blend - Blendmode der für das Bild verwendet werden soll (Solid, Alpha, Shade, Light)
alpha - Alphawert für das Objekt (0=durchsichtig; 1=voll sichtbar; 0.5=halb transparent; alle Fließkomma-Werte von 0-1 erlaubt)
rotation - Drehwinkel (0-360)
scalex - X-Skalierung (1=normal; 2=Doppelte Größe) alle Fließkomma-Werte erlaubt
scaley - Y-Skalierung (1=normal; 2=Doppelte Größe) alle Fließkomma-Werte erlaubt
type - Typ des Objekts. Normal oder Kulisse. Bei Normla wird das Objekt vor den Charakteren gezeichnet. Bei Kulisse je nach Position des Charakters vor oder hinter ihm. Kann verwendet werden um Bereiche zu schaffen um die sich Charaktere herum bewegen können. Der Charakter befindet sich hinter dem Objekt wenn sein Y Wert kleiner ist als der es Objekts. Oft muss dazu noch das yhandle des Objects angepasst werden. Siehe weiter unten (Standard: Normal)
xhandle - X-Zeichenpunkt des Objekts setzen
yhandle - Y-Zeichenpunkt des Objekts setzen
midhandle - True/False wenn True wird der Mittelpunkt (Zeichenpunkt) genau auf die Mitte des Objekts gesetzt. xhandle und yhandle haben keine Auswirkung mehr wenn midhandle True ist
visible - Objekt sichtbar oder nicht True/False
Unterzweig Animations
Über diesen optionalen Zweig können Objekte mit Animationen erstellt werden.
Code:<animations image="mirrow.png" framewidth="77" frameheight="225" firstframe="0" framecount="12">
<animation name="normal" startframe="0" endframe="0" stopframe="0" speed="100"/>
<animation name="break" startframe="0" endframe="11" stopframe="11" speed="100"/>
<animation name="broken" startframe="11" endframe="11" stopframe="11" speed="100"/>
</animations>
image - Das Bild welches für die Animation verwendet werden soll. Muss sich im selben Ordner wie die XML Datei befinden.
framewidth - Die Breites eines Frames
frameheight - Die Höhe eines Frames
firstframe - Das erste Frame (sollte immer 0 sein)
framecount - Anzahl der Frames
Animation
Definiert eine Animation.
name - Eindeutiger Name zur Identifizierung
startframe - Das Frame bei dem die Animation anfängt
endframe - Das Frame bei dem die Animation aufhört
stopframe - Das Frame das angezeigt wird wenn die Animation angehalten wird
speed - Die Geschwindigkeit in Millisekunden in der die einzelnen Frames wechseln
Re: XML Spezifikation für einen Raum
Heather - 19.11.2006, 14:27
Sounds Zweig
Definiert Sounds die abgespielt werden können.
Code:<sounds>
<sound id="1" name="fahrstuhl" file="fahrstuhl.ogg"/>
<sound id="2" name="fahrstuhl-open" file="fahrstuhl-open.ogg"/>
</sounds>
id - Eindeutige Nummer
name - Eindeutiger Name
file - Sounddatei. Muss sich entweder in selben Order wie die XML Datei, oder im sfx Ordern befinden. Am Besten nur OGG Dateien verwenden, es geht aber auch WAV. MP3 geht momentan nicht.
Re: XML Spezifikation für einen Raum
Heather - 19.11.2006, 14:34
Blocks Zweig
Definiert Bereiche, sogenannte Blöcke, auf denen sich Charaktere bewegen können.
Code:<blocks>
<block id="1" x="0" y="26"/>
<block id="2" x="0" y="27"/>
<row>45</row>
<col>23</col>
...
</blocks>
id - Eindeutige Nummer
x - X Position des Blocks
y - Y Position des Blocks
Mit ROW und COL können ganze Zeilen oder Reihen als begehbar markiert werden um so nicht jeden Block einzelnt aufführen zu müssen.
Re: XML Spezifikation für einen Raum
Heather - 19.11.2006, 14:35
Actions Zweig
Definiert Actions, Bereiche auf die draufgeklickt werden kann und darauf ein Script ausgeführt wird.
Code:<actions>
<action id="1" name="elevator" text="Fahrstuhl">
<area>
<point x="165" y="217"/>
<point x="261" y="211"/>
<point x="261" y="379"/>
<point x="171" y="377"/>
</area>
<events>
<OnClick>
-- Beliebiges Lua Script
</OnClick>
<OnDblClick>
-- Beliebiges Lua Script
</OnDblClick>
</events>
</action>
</actions>
id - Eindeutige Nummer
name - Eindeutiger Name
text - Text der angezeigt wird wenn man mit der Maus über die Action fährt
Area Unterzweig
Definiert über einzelne Punkte die Fläche der Action. Alle Punkte werden nacheinander verbunden sodass ein Polygon entsteht. Dies ist dann der Klickbare Bereich.
x - X Wert des Punktes
y - Y Wert des Punktes
Events Unterzweig
Es gibt die Events OnClick und OnDblClick. Hier kann ein beliebiges Lua Script hineingeschrieben werden. Dieses wird dann ausgeführt wenn man auf die Action draufklickt bzw Doppelklickt.
Re: XML Spezifikation für einen Raum
Heather - 17.12.2006, 15:41
Chat Zweig
Definiert Gruppen welche wiederum Textzeilen enthalten die für Gespräche zwischen dem EGO und einem Charakter benutzt werden können.
Code: <chat>
<group id="1" name="gruppe1">
<lines>
<line id="1" active="false">
<text>Hallo ich bin deine Mudda.</text>
<script>
char.say("me","Hallo ich bin deine Mudda.")
</script>
</line>
<line id="2">
<text>Und tschüss.</text>
<script>
chat.stop()
</script>
</line>
</lines>
</group>
<group id="2" name="gruppe2">
<lines>
<line id="1">
<text>Das ist komisch</text>
<script>
char.say("me","Das ist komisch")
char.say("bernard","Was ist komisch?")
char.say("me","Na das alles hier")
</script>
</line>
<line id="2">
<text>Ich und Du, Müllers Kuh.</text>
<script>
char.say("me","AGGAGAGAGA")
</script>
</line>
</lines>
</group>
</chat>
Group Unterzweig
Definiert eine Gruppe welche Textpassagen enthält.
ID - Eindeutige Nummer
Name - Eindeutiger Name der Gruppe
Line Unterzweig
Repräsentiert eine Zeile die der Spieler wärend des Gesprächs auswählen kann.
active - True/False; Bei False ist die Zeile nicht sichtbar und kann so auch nicht ausgewähöt werden. Standard = True
Text Unterzweig
Der Text der dem Spieler angezeigt wird
Script Unterzweig
Beliebiges Script was beim Auswählen des Textes ausgeführt wird
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum silentEngine
Ähnliche Beiträge wie "XML Spezifikation für einen Raum"
23-04-05 - "raum e # 10 : 10 jahre e-gruppe berlin" - 140bpm (Donnerstag 14.04.2005)
Gyroiden im Raum - Alina (Montag 21.01.2008)
Raum der Wünsche... - Draco Malfoy (Dienstag 24.10.2006)
Raum der Wünsche - Albus Dumbledore (Samstag 17.06.2006)
Der RAUM - Begriff - kirana (Mittwoch 17.05.2006)
Raum ist da HausBadenwürttemberg 3-4 Januar beginn 11 Uhr - Sith (Freitag 23.12.2005)
Raum Berlin - supermann (Donnerstag 19.10.2006)
Der Raum der Gütigen Mutter - Ame to Yume (Samstag 08.04.2006)
Raum Stuttgart oder Heilbronn - UmmSamiha (Samstag 05.08.2006)
Schrauber im Raum Essen - rotauge (Samstag 04.06.2005)