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.
<<<     Variablen Objekte     >>>

Objekte haben ihren Einzug mit der Ausgestaltung des Unterwasser-Themas gehalten. Zunächst waren das lediglich ein paar Steine und Muscheln. Beim Gedanke Muschel war die Perle nicht fern. Die Muscheln konnten aufklappen und die Perle darin sollte nicht einfach liegenbleiben (das wäre ein zu leichtes Ziel für euch gewesen). So durchliefen die Objekte eine recht schnelle Evolution und wurden von Tag zu Tag komplexer.
Die folgenden Abschnitte behandeln nun besagte Objekte. Vielfältig in ihrer Anwendung, ist der Gebrauch um so kniffliger. Hier könnt ihr euch tief in 'wenn-dann-Szenarien' verstricken und der mitunter 'falsche' Gebrauch einer einzigen Variablen kann dazu führen, dass eure Gegenstände ein unerwartetes Eigenleben entwickeln.
Bevor ihr also in der Sektion der Objekte der Themen-Datei Änderungen vornehmt, lest euch die folgenden Kapitelchen mal durch.
Liegen hier die größten Probleme, habt ihr mit diesen Werkzeugen allerdings recht freie Gestaltungsmöglichkeiten für euren egg-O-shOOter.
Genug der Vorworte - ran an den Speck!

ObjectSpeedInfluence=
Wird dieser Wert auf 1 (Standard) gesetzt, unterliegen die Objekte dem Einfluß von Geschwindigkeitsänderungen ausgelöst durch Treffer von Geschwindigkeits-Eiern oder anderer Objekte. Der Wert 0 unterbindet diesen Einfluß.

ObjectNumber=
Die hier vergebene Nummer dient zur Identifikation eurer Objekte. Damit könnt ihr dieses Objekt in den Variablen anderer Objekte ansprechen.
Die Nummer darf einen Wert von 0 bis 199 Annehmen. Ihr könnt damit zur Zeit 200 Objekte pro Spielstufe definieren.

ObjectFront=
Hier definiert ihr, in welcher Ebene eure Objekte gezeichnet werden.
0=Hintergrund d.h. hinter allen Hasen, Eiern, Vögeln usw.
1=Vor allen Hasen, Eiern, Vögeln usw., aber hinter den Rahmenelementen des Spielfeldes (Standard).
2=Komplett im Vordergrund
Die Objekte selbst werden in der Reihenfolge ihrer Auflistung gezeichnet. Das bedeutet, dass zuerst in der Themen-Datei aufgeführte Objekte gleicher Ebene auch zuerst gezeichnet werden. Damit überlappen später aufgeführte Objekte (gleicher Ebene) die früheren und sind somit weiter vorne (die ersten werden die hintersten sein).

ObjectStartActive=
Definiert, ob das Objekt zu Spielbeginn aktiv ist (Wert=1) oder nicht (Wert=0, Standard).
Nicht alle Objekte sind von Anfang an im Spiel. Einige erscheinen erst, wenn ich andere Objekte getroffen habt oder nach einer vorgegebenen Zeitspanne. Die Perle seht ihr z.B. erst, wenn ihr die Muschel getroffen habt und diese aufspringt.

ObjectTexture=
Texturen sind die Bilddateien, die ihr den Gegenständen zuweisen könnt. Verwendet hier die entsprechende Nummer der Dateien 'object001.bmp' - 'object100.bmp', also die Nummern 1 bis 100.
Mit Hilfe dieser Bilddateien könnt ihr auch Animationen erstellen. Ähnlich dem Prinzip 'animierte Gifs' könnt ihr definieren, welches Bild bei diesem Gegenstand wie lange angezeigt wird. Erstellt dazu eine Kommagetrennte Liste mit den Bildnummern, die sich bei diesem Objekt abwechseln sollen. Hinter jeder Bildnummer ist durch einen Schrägstrich '/' getrennt, die jeweilige Anzeigedauer in Millisekunden anzugeben.
'ObjectTexture=2/100,68/100' (=Fließendes Wasser aus dem Wasserhahn) zeigt z.B. für 100 Millisekunden (=0.1Sekunden) 'object002.bmp' und anschließend für weitere 100 Millisekunden das Bild 'object068.bmp'. Wird das Ende der Kette erreicht, beginnt das Spiel von vorne. Wird keine Zeitangabe gemacht, bricht die Kette an dieser Stelle ab und das zuletzt aufgeführte Bild bleibt aktiv. Ihr könnt bis zu 20 Bilddateien einem Objekt zuordnen.
Wollt ihr keine Animationen, so gebt hier lediglich die Nummer der gewünschten Bilddatei an z.B. ObjectTexture=5 (Tellerstapel).

ObjectF=
ObjectD=
Hier kommen wir nun zu 'Programmverzweigungen'. Nach bestimmten Ereignissen ein Objekt betreffend, kann dieses die Anzeige anderer Objekte ein- oder ausschalten. Dazu dienen diese beiden Variablen. ObjectF steht dabei für Folgeobjekte (also die EINzuschaltenden Objekte) und ObjectD für die zu deaktivierenden Objekte. Bis zu 20 Objekte können von einem Objekt ein- oder ausgeschaltet geschaltet werden. Die Objekte werden dabei über die in ObjectNumber= vergebene 'Hausnummer' angesprochen.
Diese Schaltvorgänge können beim Auftreten bestimmter Ereignisse ausgelöst werden. Die entsprechenden Ereignisse sind dabei 'H' für Hit (=Treffer), 'R' für Range (=Bereich) und 'T' für Time (=Zeit). Der Buchstabe (Buchstabenkombinationen sind ebenfalls möglich) des betreffenden Ereignisses muss dabei der Objektnummer vorangestellt werden.
ObjectF=T9, R2, HR5
ObjectD=HTR7, H4
In diesem Beispiel wird im Falle eines Treffers (H) Objekt Nummer 5 EIN- und Objekt Nummer 4 und 7 AUSgeschaltet. Verlässt das Objekt seinen vorgegebenen Bewegungsbereich (R), werden Objekt Nummer 2 und 5 EIN- und Objekt Nummer 7 wird AUSgeschaltet. Ist die Zeit des Objectes abgelaufen (T), so wird Objekt Nummer 9 EIN- und Objekt Nummer 7 AUSgeschaltet.
Bei ObjectD kann, durch einen Schrägstrich '/' getrennt, ein Objekt angegeben werden, das dem eigentlich zu deaktivierenden Objekt neue Geschwindigkeitsvariablen, Texturen usw. zuweist. Das Objekt wird in diesem Fall NICHT deaktiviert.
Ein Beispiel hierfür ist der Flugsaurier, der aus dem gekochten Ei in Spielstufe 1 schlüpft. ObjectF=H11, H10/12,... Wenn ihr das Ei (Objekt Nr. 10) trefft, übernimmt dieses die Variablen von Objekt Nr. 12 und wird somit zum Flugsaurier.

ObjectSecMin=
ObjectSecMax=
Hier wird die Anzeigedauer des Objektes in Sekunden angegeben. Es wird ein zwischen Min und Max liegender Wert ausgewürfelt und nach Ablauf dieser Zeitspanne wird das Ereignis Time (T=Zeit) für dieses Objekt ausgelöst.
Werte (auch Kommawerte) zwischen 1 und 100 werden akzeptiert, -1 steht für unbegrenzte Anzeigedauer (Standard).

ObjectConnect=
Ihr könnt Objekte aneinanderketten. Beispiele dafür sind die Vierer-Ruderboote des Unterwasser-Themas. Diese Boote bestehen aus insgesammt 6 Bootsteilen (4 Ruderplätze + Bug + Heck). Dabei gibt nur eines dieser Objekte (Ruderplatz Nummer 1) die Geschwindigkeit und Position der mit ihm verbundenen Objekte vor. Ist ein Objekt mit einem anderen verbunden, so verstehen sich alle Koordinatenangaben relativ zu diesem Objekt. Es ist auch möglich, diese Verbindung zu verschachteln. Das Paddel von Ruderplatz Nr. 4 ist so z.B. mit diesem Ruderplatz verbunden, der seinerseits wieder mit Ruderplatz Nr. 1 verbunden ist.
Es kann eine kommagetrennte Liste von bis zu 20 Objekten angegeben werden. Die Verbindung bezieht sich dabei auf das erste AKTIVE Objekt in der Liste, das gefunden wird.

ObjectKoordPre=
Neu erscheinende Objekte können die Koordinaten anderer Objekte übernehmen. Als Beispiel nenne ich mal den Topfdeckel in Spielstufe 1. Nach einem Treffer dieses Deckels wird als Folgeobjekt der fliegende Topfdeckel aktiviert. Dieser kann nun die Koordinaten von dem auf dem Topf liegenden Deckel (für den Fall, dass das Wasser noch nicht gekocht hat) oder von dem hüpfenden Topdeckel (für den Fall, dass das Wasser schon heiß ist) übernehmen. Es werden die Koordinaten des ersten AKTIVEN Gegenstandes übernommen, der in der Liste aufgeführt ist.
Als Besonderheit gilt für vorangestelle Buchstaben:
a - Es werden die absoluten X- und Y-Koordinaten übernommen und die Drehwinkel auf 0 gesetzt.
b - Das Folgeobjekt wird nur aktiviert, wenn das hier angegebene Objekt aktiv ist. Es werden KEINE Koordinaten übernommen.
c - Das Folgeobjekt wird nur aktiviert, wenn das hier angegebene Objekt NICHT AKTIV ist.
d - Das hier angegebene Objekt wird nach der Koordinatenübernahme deaktiviert.
e - Koordinaten werden nur übernommen, wenn das Objekt aktiv ist, ansonsten werden die Koordinaten neu initialisiert.
f - Wie c, es wird jedoch nicht überprüft. ob das Objekt eventuell während des Ereignisses deaktiviert wird.
g - Nur wenn das Vorgängerobjekt das Ereignis ausgelöst hat, werden die Koordinaten übernommen.

ObjectHitDirection=
Ist diese Variable auf den Wert 1 gesetzt, bewegt sich das Objekt nach einem Treffer immer 'weg von dem Trefferpunkt'. Beim Wert 0 (Standard) bewegt es sich in eine zufällige Richtung weiter.

ObjectXMin=
ObjectXMax=
ObjectYMin=
ObjectYMax=
Minimale und maximale X- und Y-Koordinaten, die einem Objekt bei der Initialisierung zugewiesen werden.
Werte von -10000 bis 10000 werden akzeptiert, der Standardwert ist 0.

ObjectDMin=
ObjectDMax=
Hiermit legt ihr die Größe des Objektes fest.
Werte von 0 bis 1000 werden akzeptiert, der Standardwert ist 0.

ObjectAMin=
ObjectAMax=
Legt den Drehwinkel fest.
Werte von -360 bis +360 werden akzeptiert, der Standardwert ist 0.

ObjectVXMin=
ObjectVXMax=
ObjectVYMin=
ObjectVYMax=
Diese Variablen bestimmen die Geschwindigkeit des Objektes. Negative Werte bewirken Bewegung nach links bzw. unten, positive Werte nach rechts bzw. oben. Ohne Vorzeichen wird die Richtung ausgewürfelt (Bidirektional).
Werte von -1000 bis +1000 werden akzeptiert, der Standardwert ist 0.

ObjectVRotMin=
ObjectVRotMax=
Bezeichnet die Drehgeschwindigkeit. Positive Werte bewirken eine Drehung im Uhrzeigersinn, negative entgegengesetzt dazu. Wird kein Vorzeichen angegeben, würfelt euer Computer eine Drehrichtung aus (Bidirektional).

ObjectRotAxis=
Die Achse, um welche euer Objekt rotieren soll. Dabei gilt:
1-Rotation um die X-Achse.
2-Rotation um die Y-Achse.
3-Rotation um die Z-Achse (Standard).
Rotationen um die x- bzw. Y-Achse sehen bei flachen, 2dimensionalen Objekten (nur solche Objekte verwendet egg-O-shOOter) mit unter etwas merkwürdig aus. Von der Seite betrachtet, sieht man hier nur noch einen dünnen Strich. Rotation um die X-Achse wird z.B. beim Flügelschlag des Flugsauriers verwendet.

ObjectVGrowMin=
ObjectVGrowMax=
Diese Variable bestimmt die 'Wachstumsgeschwindigkeit' von Objekten. Positive Werte lassen das Objekt wachsen, negative lassen es schrumpfen. Ohne Vorzeichen wird ein solches ausgewürfelt (Bidirektional).
Werte von -1000 bis +1000 werden akzeptiert, der Standardwert ist 0.

ObjectGravMin=
ObjectGravMax=
Positive Werte lassen euer Objekt beschleunigt nach unten fallen, negative Werte beschleunigen es nach oben. Wird kein Vorzeichen angegeben, würfelt der Computer eines aus (Bidirektional):
Werte von -100 bis +100 werden akzeptiert, der Standardwert ist 0.

ObjectMoveXMin=
ObjectMoveYMax=
ObjectMoveXMin=
ObjectMoveYMax=
Wurde bei den bisherigen Variablen seitens des Computers ein Wert zwischen Min und Max ausgewürfelt, so liegt hier ein Sonderfall vor:
Diese 4 Variablen definieren ein Rechteck im egg-O-shOOter Koordinatensystem, das die Grenze für die Bewegungen des Objektes kennzeichnen.
Verlässt ein Objekt diese Grenzen oder tritt in diese Grenzen ein, wird das Bereichs-Ereignis ausgelöst (R=Range).
Werte von -10000 bis +10000 werden akzeptiert, der Standardwert ist -300 (Min) bzw. +300 (Max).

ObjectMoveAMin=
ObjectMoveAMax=
Hier werden die Bewegungsgrenzen für Rotationsbewegungen festgelegt. Auch hier wird kein Zwischenwert ausgewürfelt, sondern das Ereignis R (=Range, Bereich) wird beim Erreichen ausgelöst.
Werte von -360 bis +360 werden akzeptiert, der Standardwert ist -30 (Min) bzw. +30 (Max).

ObjectMoveRMin=
ObjectMoveRMax=
Wie bei den beiden oberen Variablen wird hiermit die Grenze für die minimale bzw. maximale Wachstumsgröße eurer Objekte festgelegt, ab denen das R (=Range, Bereich) Ereigniss ausgelöst wird.
Werte von 0 bis 1000 werden akzeptiert, der Standardwert ist 0 (Min) bzw. +1000 (Max).

ObjectMoveType=
Mit dieser Variablen bestimmt ihr, was passieren soll, wenn euer Objekt die oben definierten Bewegungsgrenzen erreicht. Folgende Bewegunstypen sind definiert:
1=Anhalten, wenn Bereich erreicht wird (geführt).
2=Anhalten, wenn Bereich erreicht wird (ungeführt).
3=Springt im Bereich umher (prallt an den Grenzen ab, Standard).
4=Bildwechsel beim Verlassen d.h. es wird das R (=Range, Bereich) Ereignis ausgelöst.
5=Anhalten wenn außerhalb.
6=Bildwechsel d.h. R (=Range, Bereich) Ereignis wird beim Erreichen des Bereichs ausgelöst (geführt).
7=Wie 6 nur ungeführt.
8=Springt zum gegenüberliegenden Ende des Bereichs wenn außerhalb.
9=Prallt an dem Bereich ab, wenn dieser erreicht wird. Es kann also ein 'verbotener Bereich' definiert werden.
10=Wie 9, das Objekt springt zusätzlich im Schussbereich umher.
11=Das Range (R=Bereich) Ereignis wird ausgelöst, wenn das Objekt den Zielbereich erreicht (ungeführt). Das Objekt springt ferner im Schussbereich umher.
12=Objekt bewegt sich in Richtung auf das Fadenkreuz.
13=Wie 11, allerdings hält das Objekt an ohne das Range-Ereignis auszulösen.
'Geführt' bedeutet dabei, dass z.B. wenn das Objekt die Y-Koordinate des Bereichs erreicht, die X-Koordinate aber noch außerhalb ist, die Geschwindigkeit in Y-Richtung umgekehrt wird, um das Objekt schon im Y-Bereich 'gefangen' zu halten. Das Objekt wird somit in Richtung Zielbereich geleitet.

ObjectType=
Hier könnt ihr das Verhalten des Objekts bei einem Treffer festlegen:
1-Massiv (Standard)
2-Schussdurchlässig (die Treffererkennung wird dennoch abgearbeitet)
3-Splitternd
4-Splitternd auch bei Deaktivierung aufgrund von Ereignissen

ObjectBenefitMin=
ObjectBenefitMax=
Siehe Kapitel Belohnungen / Bestrafungen bei Treffern.

ObjectMirror=
0-Objekt wird nicht gespiegelt (Standard)
1-Objekt wird (horizontal) gespiegelt.

ObjectMovePointing=
Wird dieser Wert auf 1 gesetzt, wird das Objekt in seiner Drehung immer in Richtung seiner Bewegung ausgerichtet. Beim Wert 0 (Standard) entfällt diese Ausrichtung.
ObjectRotAxis muss dazu auf den Wert 3 gesetzt sein und die Variable ObjectVRot wird ignoriert!

ObjectHitSound=
Name der Klangdatei die beim Treffer abgespielt wird. Möchtet ihr, dass kein Klang abgespielt wird, dann tragt hinter dem Gleichheitszeichen nichts ein.

ObjectAppearSound=
Wie oben, nur dass dieser Klang abgespielt wird, wenn das Objekt aktiviert wird.

ObjectHitTextDeutsch=
ObjectHitTextEnglish=
Wenn ihr hier eine Textzeile eingebt, bedeutet das automatisch, dass es verboten ist dieses Objekt zu treffen. Trefft ihr es dennoch, wird das Spiel sofort beendet und die Textzeile wird als Grund für das Streichresultat angezeigt. (z.B. Flugsaurier getroffen!). Ihr habt maximal 55 Zeichen für diesen Text zur Verfügung.

Bis hierher alles klar? Ich empfehle euch auf jeden Fall noch die Kapitel mit den Beispielen zum Umgang mit Objekten durchzulesen.

<<<Zurück zu Variablen Blumen          Weiter zum Präzisionsschießen>>>