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.
<<<     Die Kunst des Weglassens     >>>

Bislang haben wir immer den kompletten Variablenblock eingesetzt, um Objekte zu definieren. Insbesonders beim Definieren von Folgeobjekten wurden dabei aber unter Umständen nur wenige dieser Variablen verändert. Was passiert, wenn diese Variablen einfach weggelassen werden?
Ganz einfach - es werden die Standardwerte verwendet bzw. beim Vorhandensein eines Objektes zur Koordinatenübernahme werden dessen Werte verwendet.
Die Standardwerte lauten dabei:

#1#
ObjectNumber=? Eine Objektnummer MUSS angegeben werden, hier gibt es keinen Standardwert!
ObjectFront=1
ObjectStartActive=0
ObjectTexture=-1 Keine Texture definiert, Objekt wird deaktiviert, wenn keine Texturenübernahme von ObjectKoordPre möglich ist.
ObjectF=-1
ObjectD=-1
ObjectSecMin=-1
ObjectSecMax=-1 Es wird kein Zeit-Ereignis ausgelöst
ObjectConnect=-1 Objekt ist nicht verbunden
ObjectKoordPre=-1 Keine Koordinatenübernahme
ObjectHitDirection=0
ObjectXMin=0
ObjectXMax=0
ObjectYMin=0
ObjectYMax=0
ObjectDMin=0
ObjectDMax=0 Führt dazu, dass das Objekt nicht gezeichnet wird
ObjectAMin=0
ObjectAMax=0
ObjectVXMin=0
ObjectVXMax=0
ObjectVYMin=0
ObjectVYMax=0
ObjectVRotMin=0
ObjectVRotMax=0
ObjectRotAxis=3 Rotation um Z-Achse
ObjectVGrowMin=0
ObjectVGrowMax=0
ObjectGravMin=0
ObjectGravMax=0
ObjectMoveXMin=-300
ObjectMoveXMax=+300
ObjectMoveYMin=-300
ObjectMoveYMax=+300
ObjectMoveAMin=-360
ObjectMoveAMax=+360
ObjectMoveRMin=0
ObjectMoveRMax=1000
ObjectMoveType=3
ObjectType=1
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= Kein Klang
ObjectAppearSound= Kein Klang
ObjectHitTextEnglish=
ObjectHitTextGerman=

Die einfachste Methode, Textzeilen einzusparen liegt nun darin, die Variablen mit passenden Standardwerten wegzulassen. Bei statischen Objekten sind das die Zeilen ObjektVXMin bis ObjectMoveRMax, da hier keine Geschwindigkeiten und entsprechend auch keine Rotationsachse benötigt werden. Soll ferner kein Zeit-Ereignis ausgelöst und kein Bonus beim Treffer vergeben werden, können auch diese Zeilen entfallen usw..
Nehmen wir als Beispiel die Dunstabzugshaube, bei der nur die Objektnummer, die Texture , die Bildebene und die X- und Y-Koordinaten benötigt werden - nicht zu vergessen das Objekt zu Spielbeginn zu aktivieren und ein Klang beim Treffen wäre auch nicht schlecht. Zur Definition genügen somit die Zeilen:

#1#
ObjectNumber=1       #1#Dunstabzugshaube / Exhaust hood
ObjectStartActive=1
ObjectTexture=9
ObjectXMin=-200
ObjectXMax=+200
ObjectYMin=+170
ObjectYMax=+170
ObjectDMin=190
ObjectDMax=190
ObjectHitSound=objecthit005

Sieht doch schon viel übersichtlicher aus. Statische Objekte wären damit deutlich schneller definiert.
Geringer ist das Einsparpotential bei bewegten Objekten, aber wenn aus diesen wiederum Folgeobjekte hervorgehen, können hier wieder viele Zeilen entfallen. Nehmen wir mal wieder ein fliegendes Ei und lassen aus diesem nach einem Treffer drei Fliegen schlüpfen:
Nicht benötigt werden bei dem Ei die Variablen ObjectFront, ObjectSecMin/Max, ObjectConnect, ObjectKoordPre, ObjectHitDirection, ObjectAMin/Max (da das Ei rotiert, kann es ruhig beim Winkel 0 anfangen), ObjectRotAxis, ObjectVGrowMin/Max, ObjectGravMin/Max, ObjectMoveRMin/Max, ObjectMoveType, ObjectType, ObjectBenefitMin/Max, ObjectMirror, ObjectMovePointing, ObjectAppearSound und ObjectHitTextEnglish/German.

#1#
ObjectNumber=2       #1#Ei (Rot) / Egg (Red)
ObjectFront=1
ObjectStartActive=1
ObjectTexture=98
ObjectF=H3,H4,H5
ObjectD=H2
ObjectXMin=-800
ObjectXMax=+800
ObjectYMin=-170
ObjectYMax=+200
ObjectDMin=20
ObjectDMax=20
ObjectVXMin=100
ObjectVXMax=200
ObjectVYMin=100
ObjectVYMax=200
ObjectVRotMin=100
ObjectVRotMax=200
ObjectMoveXMin=-800
ObjectMoveXMax=+800
ObjectMoveYMin=-200
ObjectMoveYMax=+200
ObjectHitSound=objecthit014

Richten wir die Fliegen nach ihrer Bewegungsrichtung aus und geben ihnen neue Geschwindigkeitswerte. Wie die Fliegen zuvor sollen diese ihre Richtung entgegengesetzt zum Trefferpunkt ändern und der Trefferklang soll das Summen sein. Es ergeben sich die folgenden Blöcke:

ObjectNumber=3       #1#Fliege Nummer 1 / Fly number 1
ObjectTexture=11/50,12/50
ObjectF=-1
ObjectD=-1
ObjectKoordPre=2
ObjectHitDirection=1
ObjectVXMin=100
ObjectVXMax=200
ObjectVYMin=100
ObjectVYMax=200
ObjectType=1
ObjectMovePointing=1
ObjectHitSound=objecthit033


ObjectNumber=4       #1#Fliege Nummer 2 / Fly number 2
ObjectTexture=11/50,12/50
ObjectF=-1
ObjectD=-1
ObjectKoordPre=2
ObjectHitDirection=1
ObjectVXMin=100
ObjectVXMax=200
ObjectVYMin=100
ObjectVYMax=200
ObjectType=1
ObjectMovePointing=1
ObjectHitSound=objecthit033


ObjectNumber=5       #1#Fliege Nummer 3 / Fly number 3
ObjectTexture=11/50,12/50
ObjectF=-1
ObjectD=-1
ObjectKoordPre=2
ObjectHitDirection=1
ObjectVXMin=100
ObjectVXMax=200
ObjectVYMin=100
ObjectVYMax=200
ObjectType=1
ObjectMovePointing=1
ObjectHitSound=objecthit033

Damit sind unsere fünf Objekte mit deutlich weniger Textzeilen definiert als in den Kapiteln zuvor.
Screenshot egg-O-shOOter


<<<Zurück zu 'Bedingte Verzweigungen'          Weiter zu Vorne-Hinten>>>