Java online lernen mit der Javakonsole -
kostenloses Tutorial: www.java1.de
Memory
Ebenfalls ein kleines Spiel aus der LosTellos Site. Es ist hier etwas aus dem Zusammenhang gerissen, aber es geht ja auch nur um die Darstellung der Technik. Im Grunde ist es recht einfach:
Wie Sie bemerken, beginnt es mit einem Preloader, der die Zeit, bis alle Grafiken geladen sind, überbrücken soll. Überspringen Sie also Szene 0 und schauen Sie sich direkt Szene 1 an.
Beginnen Sie mit den Filmsequenzen w00 bis w07, die die Memorykarten darstellen. Sie finden in jeder einen Button, der die Aktion auslöst. Zunächst belegt er die Variable "ich" mit seinem eigenen Namen, dann ruft er das Script im Hauptfilm auf, in dem alles weitere passiert.
Am besten schauen Sie sich jetzt mal das Script an:
Script
Dies ist das vollständige Bildscript aus memory, das die Anwendung steuert. Die Variable counter zählt die Mausclicks. counter=1 bedeutet 1. Mausclick usw.
"ich" enthält den Namen des Objekts, das das Script aufgerufen hat, also die Memorykarte, die angeklickt wurde. Wenn counter = 1 ist, wird der Name der Karte in der Variable "bild1" gespeichert. Dann wir die "bild1"-Karte umgedreht.
If (counter=1)
Set Variable: "bild1" = ich
Begin Tell Target (bild1)
Go to and Stop (2)
End Tell Target
End If
counter=2 bedeutet, dass dies die zweiter Karte ist, die umgedreht wird. Wir speichern wieder den Namen und drehe die Karte um (Goto and Stop (2)). Falls aber bild1 gleich bild2 ist, d.h. dieselbe Karte zum zweiten mal angeklickt wurde (kann ja sein, dass jemand das Spiel nicht kapiert hat), verdecken wir sie wieder.
If (counter=2)
Set Variable: "bild2" = ich
Begin Tell Target (bild2)
Go to and Stop (2)
End Tell Target
If (bild1 eq bild2)
Begin Tell Target (bild1)
Go to and Stop (1)
End Tell Target
Set Variable: "counter" = 0
End If
End If
Erst beim dritten Klick erfolgt die Auswertung, denn der Spieler soll ja auch Gelegenheit haben, selbst festzustellen, ob er Erfolg hatte. Würden wir aber beim zweiten Klick bereits auswerten, bekäne er das Ergebnis seiner Bemühungen garnicht zu sehen.
Die Gleichheit der Bilder wird über ihren Namen festgestellt, passende Paare heissen z.B. "w3" und "c3" oder "w4" und "c4".
If (counter=3)
Comment: Bilder passen zueinander
If ((Substring (bild1, Length (bild1), 1)=
Substring(bild2,Length (bild2),1)))
Die gefundenen Karten werden entfernt, d.h. unsichtbar gesetzt.
Comment: Bilder wegnehmen
Set Property (bild1, Sichtbarkeit) = 0
Set Property (bild2, Sichtbarkeit) = 0
Dies sind die kleinen Bildchen, die anzeigen, welche Karten bereits gefunden wurden.
Comment: Kleinen Schalter umdrehen
Set Variable: "anzeigeziel" =
"/a"&substring(bild1,length(bild1),1)
Begin Tell Target (anzeigeziel)
Go to and Stop (2)
End Tell Target
Comment: Ergebnis starten
Als Ereignis werden zunächst unsichtbare Filmsequenzen gestartet, deren Namen dynamisch bestimmt wird (sie heissen e0 bis e7, ist also nix dolles).
Set Variable: "anzeigeziel" =
"/e"&Substring(bild1,length(bild1),1)
Begin Tell Target (anzeigeziel)
Play
End Tell Target
Passen die Karten nicht zusammen, so werden beide zurückgedreht.
Else
Begin Tell Target (bild1)
Go to and Stop (1)
End Tell Target
Begin Tell Target (bild2)
Go to and Stop (1)
End Tell Target
End If
End If
Set Variable: "counter" = counter+1
If (counter>3)
Set Variable: "counter" = 1
End If
Wie man auch hier wieder merkt, kann man sich in der Flash-Programmierung eine Menge Arbeit sparen, wenn man sie Filmsequenzen sinnvoll benennt.
download memory 905kb
|
Brauchbare Seite?
Drücken Sie Ihre Zufriedenheit durch eine Spende aus!
|
|
|