S
t
a
r
t
Tagebuch
Tagebuch
egg-O-shOOter herunterladen
Herunterladen
Wie funktioniert egg-O-shOOter ?
Einblick
Häufig gestellte Fragen
Fragen?
egg-O-shOOter Futter
Futter
Links
Verweise
I
m
p
r
e
s
s
u
m
Click here for the english version.

In dieser Rubrik könnt ihr die Umgestaltung des egg-O-shOOters nach euren eigenen Vorstellungen erlernen.
<<<     Statische Objekte     >>>

Die folgenden Kapitel zu Objektprogrammierung sind mit Sicherheit die komplexesten Seiten zum Thema egg-O-shOOter. Anhand von Beispielen möchte ich euch die vielen Möglichkeiten, welche in dieser Objektprogrammierung stecken, Schritt für Schritt erklären.
Öffnet die Datei 'themes.txt' in dem Verzeichnis 'MeineKueche', das wir zu Beginn als Sicherungskopie angelegt hatten. Da wir uns nun an die Testphase unseren Spieles heranwagen, erleichtert ihr euch die Arbeit, indem ihr die Variable Gametesting=1 setzt (gleich zu Beginn der Datei). Damit ihr weiterhin nicht ständig nach dem Spielestart erst euer Thema anwählen müsst, solltet ihr unterhalb der Textmarke [Date] und den Erklärungen zu dieser Textmarke eine Zeile mit dem aktuellen Datum einfügen.
z. B. 19.12.2008-12:00
Damit erreicht ihr, dass euer Thema immer als Startthema ausgewählt wird.
Die Beispiele werden wir in der Spielstufe 1 verwirklichen. Sucht (am einfachsten mit der Funktion 'Bearbeiten -> Suchen' eures Texteditors) nach der Textstelle ObjectSpeedInfluence=. Ab hier beginnen die Definitionen der Objekte. Achtet darauf, dass ich euch auch wirklich in der Spielstufe 1 befindet. Erkennen könnt ihr das an den Markierungen '#1#' in verschiedenen Zeilen der Datei.
Direkt unterhalb der Variablen ObjectSpeedInfluence beginnen mehrere Zeilen mit den Kurzinformationen zu den Objektvariablen. Geht weiter nach unten, bis ihr zu den Zeilen

#1#
ObjectNumber=1       #1#Wasser / Water

gekommen seid.
Hier sind die einzelnen Blöcke der verschiedenen Objekte aufgelistet. Damit ihr in den folgenden Beispielen nicht die Übersicht verliert, löschen wir mit Ausnahme des 1. Objektes alle folgenden Objekte von Spielstufe 1. Löscht also den gesamten Text der Datei von

#1#
'ObjectNumber=2       #1#Wasserhahn auf / Spigot opened'

einschließlich des Textblockes

#1#
'ObjectNumber=158       #1#Phantomobjekt Drehpunkt Fluegel schraeger Vogel Absturz / ...'

Den verbleibenden Textblock müsst ihr nun wie folgt abändern:

#1#
ObjectNumber=1       #1#Fliege / Fly
ObjectFront=1
ObjectStartActive=1
ObjectTexture=11
ObjectF=-1
ObjectD=-1
ObjectSecMin=-1
ObjectSecMax=-1
ObjectConnect=-1
ObjectKoordPre=-1
ObjectHitDirection=0
ObjectXMin=0
ObjectXMax=0
ObjectYMin=0
ObjectYMax=0
ObjectDMin=20
ObjectDMax=20
ObjectAMin=0
ObjectAMax=0
ObjectVXMin=0
ObjectVXMax=0
ObjectVYMin=0
ObjectVYMax=0
ObjectVRotMin=0
ObjectVRotMax=0
ObjectRotAxis=3
ObjectVGrowMin=0
ObjectVGrowMax=0
ObjectGravMin=0
ObjectGravMax=0
ObjectMoveXMin=-800
ObjectMoveXMax=+800
ObjectMoveYMin=-200
ObjectMoveYMax=+200
ObjectMoveAMin=-360
ObjectMoveAMax=+360
ObjectMoveRMin=1
ObjectMoveRMax=1000
ObjectMoveType=3
ObjectType=3
ObjectBenefitMin=*0,*0,*0,*0,*0,*0,*0,*0,*0,*0,*0,*0,*0
ObjectBenefitMax=*0,*0,*0,*0,*0,*0,*0,*0,*0,*0,*0,*0,*0
ObjectMirror=0
ObjectMovePointing=0
ObjectHitSound=
ObjectAppearSound=
ObjectHitTextEnglish=
ObjectHitTextGerman=

Wenn ihr nun Spielstufe 1 eures neu erstellten egg-O-schOOter - Themas startet, solltet ihr in der Mitte des Spielfeldes die Stubenfliege sehen.
Alle anderen Objekte wie der Wasserhahn, die Gasbrenner, der Topf usw. sind verschwunden. Wenn nicht, prüft nach ob ihr eure Datei 'themes.txt' neu abgespeichert habt und drückt die Taste 'N' während die Spielstufe im egg-O-shOOter läuft, um die neue Datei einzulesen.
Sind alle Objekte verschwunden und ihr seht immer noch keine Fliege, dann geht den Textblock eures Objektes noch einmal Zeile für Zeile durch. Der Teufel steckt beim egg-O-shOOter (wie bei der Programmierung im allgemeinen ebenfalls) im Detail. Besonderes Augenmerk gilt den Zeilen ObjectActive=1 (Beim Wert 0 wird das Objekt zum Spielbeginn NICHT initialisiert), der Zeile ObjectKoordPre=-1 (sonst versucht die Fliege Koordinaten eines nicht existierenden Objektes zu übernehmen und wird automatisch deaktiviert) und den Zeilen ObjectDMin/Max=20 (sonst wird die Fliege eventuell zu klein zur Darstellung).
Screenshot egg-O-shOOter
Die Fliege ist da? Schön - dann können wir ja weitermachen.
Spielt zunächst einmal mit den Variablen ObjecktXMin/Max und ObjectYMin/Max. Ändert die Werte wie folgt:

ObjectXMin=-400
ObjectXMax=+400
ObjectYMin=-160
ObjectYMax=+160

Speichert die Datei neu ab und drückt die Taste 'N' während Spielstufe 1 läuft. Die Fliege taucht bei jedem Tastendruck an einer anderen Stelle des Spielfeldes auf. Dabei ist der Raum dieses 'Auftauchens' auf ein Quadrat der Dimension 800 x 320 im egg-O-shOOter Universum begrenzt. Mehr zu den Koordinaten dieses Universums könnt ihr hier nachlesen.
Setzt jetzt die Werte ohne Vorzeichen:

ObjectXMin=400
ObjectXMax=400
ObjectYMin=160
ObjectYMax=160

Drückt ihr nun (nach dem erneuten Abspeichern) die Taste 'N', so taucht die Fliege zufällig an einem der Eckpunkte des gedachten Rechteckes auf. Die Variable ist 'Bidirektional', was bedeutet, dass beim Fehlen eines Vorzeichens bei Min- UND Max-Wert, vom Computer ein Vorzeichen 'ausgewürfelt' wird.
Der Sinn der Koordinatenvergabe zu Spielbeginn mit Hilfe eines Min- und Max-Wertes liegt darin, den Spielablauf variieren zu können. Wollt ihr, dass die Fliege an einem bestimmten Punkt des Spielfeldes auftaucht, dann müssen Min- und Maxwert identisch sein. Setzt die Werte (Vorzeichen angeben) auf:

ObjectXMin=-100
ObjectXMax=-100
ObjectYMin=-160
ObjectYMax=-160

und die Fliege taucht immer auf dem Küchenherd auf, was sinnvoll ist, denn bislang schlägt die Fliege ja nicht mit ihren Flügeln und hängt so in der Spielfeldmitte etwas deplaziert herum...
Spielt ein wenig mit den Variablen ObjectDMin/Max, um die Fliege schrumpfen bzw. wachsen zu lassen und mit ObjectAMin/Max, um den Drehwinkel zu ändern.
Jetzt ist es an der Zeit, die Fliege mal mit den Flügeln schlagen zu lassen. Dazu bedienen wir uns des zeitgesteuerten Texturen- (also Bild-) wechsels. Ändert die Variable ObjectTexture=11 in

ObjectTexture=11/100,12/100

und schon beginnt das große Flattern. Mit ObjectTexture wird dem Object eine Texture, also ein Bild zugewiesen. Das entsprechende Bild ist in der Grafik object011.bmp bzw. object012.bmp gespeichert. Hatten wir unserem Objekt anfangs nur eine Texture zugewiesen, so sind es in dem jetzigen Beispiel zwei unterschiedliche Bilder. Hinter der Bildnummer folgt durch einen Schrägstrich getrennt die Anzeigedauer dieses Bildes in Millisekunden (100 Millisekunden = 0.1 Sekunden). Nach einem Komma folgt das zweite Bild (12) für ebenfalls 100 Millisekunden. Nach dem Ende dieser Reihe (bis zu 20 Bilder können aufgelistet werden) beginnt das Spiel von vorne, also wieder bei Bild 11.
Spielt ein wenig mit den Anzeigedauern, um den Effekt des Flügelschlages zu optimieren. Bei ObjectTexture=11/70,12/30 wird die Fliege hektischer.
<<<Zurück zu Soundformate und -parameter          Weiter zu Ojektbewegung>>>