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.
<<<     Kettenglieder     >>>

Manipulieren wir doch jetzt mal unseren Schleppzug bestehend aus Vogel, Flügel, Banner und Fliege. Nehmen wir als Ereignis die Zeitsteuerung. Nach 3 Sekunden Flug legt unser Freund mal einen Zwischenspurt ein und wird schneller.
Wie ihr schon gelernt habt, benötigen wir dazu einen weiteren Vogel, dessen Geschwindigkeitsvariablen höhere Werte haben. Die nötigen Manipulationen von Objekt Nummer 1 sehen wie folgt aus:

ObjectF=T6 (Der schnellere Vogel wird beim Zeit-Ereignis aktiviert)
ObjectD=T1 (Der ursprüngliche Vogel wird beim Zeit-Ereignis deaktiviert)
...
ObjectSecMin=3
ObjectSecMax=3

Der schnelle Vogel sieht wie folgt aus:

#1#
ObjectNumber=6       #1#Testobjekt schneller schraeger Vogel / Testing object fast odd bird
ObjectFront=1
ObjectStartActive=0
ObjectTexture=79
ObjectF=-1
ObjectD=-1
ObjectSecMin=-1
ObjectSecMax=-1
ObjectConnect=-1
ObjectKoordPre=1
ObjectHitDirection=0
ObjectXMin_0
ObjectXMax_0
ObjectYMin_0
ObjectYMax_0
ObjectDMin=60
ObjectDMax=60
ObjectAMin=0
ObjectAMax=0
ObjectVXMin=-400
ObjectVXMax=-400
ObjectVYMin=0
ObjectVYMax=0
ObjectVRotMin=0
ObjectVRotMax=0
ObjectRotAxis=3
ObjectVGrowMin=0
ObjectVGrowMax=0
ObjectGravMin=0
ObjectGravMax=0
ObjectMoveXMin=-800
ObjectMoveXMax=+1000
ObjectMoveYMin=-1000
ObjectMoveYMax=+1000
ObjectMoveAMin=-360
ObjectMoveAMax=+360
ObjectMoveRMin=1
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=1
ObjectHitSound=
ObjectAppearSound=
ObjectHitTextEnglish=
ObjectHitTextGerman=

Wie gewünscht wechselt der schräge Vogel von Objekt 1 auf Objekt Nummer 6 - doch was ist das? Der Vogelkörper beschleunigt, aber der ganze Rest des Schleppzuges bleibt stehen!
Screenshot egg-O-shOOter
Nun, Das Programm macht genau das, was wir ihm vorgegeben haben. Sobald wir Objekt 1, den langsamen Vogel deaktivieren, fehlt den übrigen Objekten des Zuges die 'Lokomotive'. Die 'Anhänger' besitzen alle die Geschwindigkeitswerte 0 für ObjectVXMin/Max und ObjectYMin/Max und bleiben daher einfach stehen. Wie können wir das verhindern? Die Antwort lautet: 'Kompliziert, weniger kompliziert oder einfach'.
Der Komplizierte, aber gangbare Weg besteht darin, einen kompletten zweiten Schleppzug mit einem schnelleren Zugvogel zu erstellen, der zu Spielbeginn deaktiviert ist (ObjectStartActive=0) und während des Zeitereignisses mit allen Komponenten aktiviert wird.
Der weniger komplizierte Weg besteht darin, den Komponenten, welche mit dem Objekt 1 verbunden sind, als zweites 'Verbindungsobjekt' den schnelleren Vogel zuzuweisen. Die Variablen

ObjectConnect=1
werden zu
ObjectConnect=1,6

Diese Variable kann aus bis zu 20 kommagetrennten Objektnummern bestehen und es wird immer das erste aktive Objekt verwendet. Zu Beginn der Spielstufe ist Objekt Nummer 1 (der langsame Vogel) aktiv und Banner und Flügel sind somit an diesem befestigt. Wird durch das Zeitereignis der langsame Vogel deaktiviert und der schnelle Vogel aktiviert, ist Objekt Nummer 6 das erste aktive Objekt und somit der Bezugspunkt.
Kommen wir zur einfachen Lösung: Wir deaktivieren Objekt Nummer 1 nicht, sondern weisen ihm nur die Variablenwerte von Objekt Nummer 6 zu. Dieses Vorhaben teilen wir dem Programm mit, indem wir die Variablen

ObjectF=T6
ObjectD=T1

umwandeln in:
ObjectF=-1
ObjectD=T1/6

Wir unterlassen damit die Aktivierung von Objekt Nummer 6 (ObjectF=-1) und ersetzten wie gewünscht die Variablenwerte von Objekt 1 mit denen von Objekt 6. Zu beachten gilt hierbei, dass ihr immer noch Objekt Nummer 1 ansprechen müsst, wenn ihr weitere Ereignisse auf den Vogel anwenden möchtet! Möchtet ihr z.B. den jetzt schnelleren Vogel wieder durch den langsameren ersetzen, wenn ihr ihn trefft, müsst ihr die Ereignis-Variablen von Objekt Nummer 6 (!) wie folgt setzen:

ObjectF=-1
ObjectD=H1/1

Damit teilt ihr dem Programm mit, dass ihr bei einem Treffer die Werte von Objekt Nummer 1, das im Augenblick noch die Variablenwerte von Objekt Nummer 6 besitzt, wieder durch die originalen Werte ersetzen möchtet.
3 Sekunden nach dem Treffer beschleunigt der Vogel wieder, da auch die Zeitwerte wieder auf die Originalwerte zurückgesetzt werden. Trefft ihr den Vogel bei seinem Flug von links nach rechts, schlägt er sofort einen Haken und fliegt wieder nach links. Das gehört auch so, da die Originalwerte von Objekt Nummer 1 beide negativ sind. Um das zu verhindern, müsst ihr separate Vögel für den Flug nach links bzw. nach rechts definieren und die Verzweigungen entsprechend setzen. Probiert's aus!
Setzt jetzt die Variable ObjectD=H1 bei Objekt Nummer 6 (!), womit ihr erreicht, dass der Vogel, sobald er beschleunigt hat, nach einem Treffer deaktiviert wird. Schießt jetzt auf den Vogel und ihr werdet sehen, dass der restliche Zug nach der Deaktivierung der Lokomotive wie zu Beginn des Beispieles stehenbleibt. Genauso könnt ihr ObjectD=H2 bei dem Banner (Objekt 2) setzen. Trefft ihr jetzt das Banner, kreist die Fliege um den Punkt 0,0 im egg-O-shOOter Universum, da der Bezugspunkt 'Banner' fehlt. Wollt ihr erreichen, dass die Fliege um den letzten Aufenthaltspunkt des Banners fliegt, dürft ihr das Banner nicht deaktivieren, sondern müsst diesem mit Hilfe eines weiteren Objektes den Durchmesser 0 (ObjectDMin/Max) zuweisen. Zerreist ihr die Kette an einer beliebigen Stelle, orientieren sich die verbliebenen Glieder an ihrem vordersten Glied. Verschwindet also der Vogel, so ist für den Kettenrest (bestehend aus Banner und Fliege) ab jetzt das Banner das vorderste Glied. Dieses besitzt keine Geschwindigkeitskomponente und daher bleiben Banner und Fliege stehen. Verschwindet das Banner, so zieht alles davor (also Vogelkörper + Flügel) seine Bahn wie gehabt weiter und das letzte Glied - die Fliege - bleibt zurück. Diese besitzt Geschwindigkeitskomponenten in X- und Y-Richtung. Wurden diese Geschwindigkeiten bei Vorhandensein des Banners relativ zu diesem errechnet, so sind diese nach dem Verschwinden des Banners absolut und die Bewegungsgrenzen werden auf den Punkt 0,0 bezogen.
<<<Zurück zu Objektrotation          Weiter zu 'Bedingte Verzweigungen'>>>