Michael Gieding Erstellen von Multimediaanwendungen für den Unterricht (Flash) Projekt 04: „Einstieg in Actionscript: Bestimmung von mit Monte-Carlo-Methode“ Folien zur gleichnamigen Lehrveranstaltung PH-Heidelberg, Sommersemester 2004 Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 1: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. Projekt 04: Bestimmung von mit Monte-Carlo-Methode 1. 1.1 Das Projekt Die Grundidee Gegeben sei ein Quadrat mit der Seitenlänge a und ein dem Quadrat einbeschriebener Kreis. Es werden per Zufall Punkte generiert, die im Quadrat liegen. Die Anzahl der Punkte Pgesamt im Quadrat bzw. PK im Kreis ist ein Maß für den Flächeninhalt der beiden Figuren: P A P A K Kreis gesamt Quadrat 4 a a 4 2 2 Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 2: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 1.2 Aufgabe Man generiere eine Flash-Applikation, zur Bestimmung von mittels der in 1.1.1 erläuterten Methode: Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 3: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 1.3 Mit dem Projekt verfolgte Ziele Wissen und Können zu folgenden Optionen von Flash bzw. Actionscript Variablen in Actionscript Textfeldtypen: Statischer Text, Eingabetext, Dynamischer Text Zuordnung von Actionscript zu Bildern und zu Schaltflächen Generieren von Instanzen von Symbolen (Movieclips) mittels Actionscript Änderung der Eigenschaften von Movieclipinstanzen mittels Actionscript Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 4: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 2. 2.1 Vorarbeiten Dokumenteinstellungen 1. Öffnen Sie ein leeres Flashdokument 2. Stellen Sie die 600x400 Pixel ein Bühnengröße auf 3. Stellen Sie das Raster auf jeweils 20 Pixel abstand ein (vertikal wie horizontal). 4. Wählen Sie Ansicht, Raster, Am Raster ausrichten 5. Lassen Sie die Ansicht, Lineale Lineale anzeigen: 6. Ziehen Sie von den Linealen her Hilfslinien auf die Bühne: Horizontal: bei 60, 200 und 340 Pixel Vertikal: Bühne mit Raster und Hilfslinien bei 160, 300 und 440 Pixel Hinweis: Wie auch das Raster erscheinen die Hilfslinien nicht im Flashfilm. 7. Speichern Sie die Datei als pi.fla Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 5: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 2.2 Quadrat und Kreis Neue Bezeichnung für Ebene 1: Hintergrund Quadrat und Kreis entsprechend der Hilfslinien generieren: Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 6: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 2.3 Überschrift: Statischer Text In Ebene „Hintergrund“ bleiben Textwerkzeug wählen Eigenschaften: Statischer Text, Arial 20, Textfarbe: Schwarz ... Texteingabe: „Bestimmung von p mittels Monte-Carlo-Methode“ Im Text p markieren Im Eigenschaften-Inspektor Schriftart Symbol wählen. Ergebnis: Aus p wird Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 7: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 2.4 Text in Grafikobjekt umwandeln Textobjekte werden als solche im Flashfilm übertragen. Sollte der User die Schriftart Symbol nicht auf seinem Rechner installiert haben, so wird das Zeichen nicht korrekt angezeigt. Das Problem wird dadurch umgangen, dass das in ein Grafikobjekt umgewandelt wird: Text markieren: Modifizieren, Teilen: Ergebnis: Das Textfeld wurde in einzelne Textfelder Zerlegt, die jeweils nur ein Zeichen enthalten. Textfeld mit dem Inhalt auswählen: Modifizieren, Teilen: wurde in ein Grafikobjekt konvertiert Die Ebene „Hintergrund“ ist fertig: Sperren! 3. Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 8: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 3. 3.1 Variablen Generierung der Variablen r (Radius des Kreises) Für die Überprüfung, ob ein zufällig „gewürfelter“ Punkt innerhalb des Kreises liegt, wird der Radius unseres Hintergrundkreises benötigt. Er soll deshalb in Bild 1 entsprechend des bereits generierten Kreises mit dem Wert 140 belegt werden. Als Bezeichner wird das Zeichen „r“ gewählt: Neue Ebene mit der Bezeichnung „Skript“ Bild 1 in der Ebene „Skript“ markieren Aktioneninspektor: Aktionen, Unterordner Variablen, Befehl: set Variable: Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 9: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 3.2 Bezeichnung und Wert: Zwei Aspekte von Variablen Variable r Bezeichnung: „r“ Wert: 140 Set Variable: Dem Variablenbezeichner „r“ (kein Ausdruck) wird der Wert 140 (Ausdruck) zugewiesen Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 10: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 3.3 Generierung der Variablen xm und ym Der Mittelpunkt des Kreises hat bezüglich des bühneneigenen Koordinatensystems die Koordinaten: xm = 300, ym = 200. Generieren sie in Bild 1, Ebene „Skript“ entsprechende Variablen: r = 140; xm = 300; ym = 200; Falls Sie die Wertzuweisungen im Expertenmodus vornehmen: Die Syntax von Actionscript erfordert ein Semikolon nach den jeweiligen Anweisungen. Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 11: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 3.4 Variablentest Film speichern Film testen (STRG + Eingabe) Fehlersuche, Variablen auflisten: Variable _level0.r = 140 Variable _level0.xm = 300 Variable _level0.ym = 200 Testmodus beenden Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 12: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 3.5 Variablen, deren Wert interaktiv geändert werden kann Der fertige Flash-Film soll dem User erlauben, die Anzahl n der „Würfe“ zu variieren. Hierfür stellt Flash u.a. eine besondere Form von Textfenstern zur Verfügung: Eingabetext. Erstellen Sie eine neue Filmebene mit der Bezeichnung Variablen Generieren Sie im ersten Bild dieser Ebene ein Textfenster vom Typ Eingabetext: Damit die Inhalte dieses Textfensters von Actionscriptroutinen verwendet werden kann, benötigt das Fenster eine Variablenbezeichnung. Wählen Sie hierfür die Bezeichnung „n“ (s. Markierung im obigen Bitmap) Der fertige Film möge default mit dem Wert 1000 für n starten. Belegen Sie das Textfeld mit dem Variablennamen „n“ entsprechend. Generieren Sie abschließend ein Textfenster vom Typ „statischer Text“ mit dem Inhalt „n:“: n: 1000 Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 13: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 3.6 Anzeige von Variablen, deren Wert durch Actionscript während des Films geändert wird Der für berechnete Wert als auch die Anzahl der Punkte, die innerhalb des Kreises generiert werden, ändert sich für jeden neuen „Wurf“. Zur Anzeige derartiger Variablenwerte stellt Flash Textfenster vom Typ „dynamischer Text zur Verfügung. Im folgenden soll die Anzahl der Punkte, die sich im Kreis befinden mit k bezeichnet werden. Generieren sie im Bild 1 der Ebene „Variablen“ ein neues Textfenster vom Typ „dynamischer Text“ Wählen Sie für dieses Fenster den Variablennamen „k“. Generieren Sie ein weiteres Textfenster vom Typ „dynamischer Text“. Der Variablenname diese Fenster sei „pi“. Generieren Sie statischen Text zur näheren Kennzeichnung der dynamischen Textfenster auf der Bühne: im Kreis: Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 14: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 4. 4.1 Der Prototyp eines Punktes: Generierung eines Symbols vom Typ Movieclip Die zentrale Idee In einer noch zu erstellenden Actionscriptroutine werden Instanzen eines Movieclips generiert und per Zufall im Quadrat verteilt. Hierzu muss in der Filmbibliothek ein solches Objekt vorhanden sein. Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 15: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 4.2 Generierung des Movieclips „Punkt“ Einfügen, neues Symbol, Typ: Movieclip, Bezeichnung: „Punkt“ Verknüpfung, Export für Actionscript aktivieren: Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 16: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. Kreis in Mittelpunktslage bezüglich des Moviemittelpunkte generieren: Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 17: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 5. 5.1 Mittels Actionscript Instanzen von Movieclips generieren Schaltfläche Neue Filmebene: „Steuerung“ In Bild 1 dieser Ebene ein Schaltfläche erstellen (aus den allgemeinen Bibliotheken) Der erstellten Schaltfläche wird im folgenden Actionscriptcode zugeordnet, welcher Instanzen des Movieclips „Punkt“ generiert. Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here., Error! Use the Home tab to apply Überschrift 2 to the text that you want to appear here. Folie 18: Error! Use the Home tab to apply Überschrift 3 to the text that you want to appear here. 5.2 Der Code on (release) { a = 0; for (i=1; i<=n; i++) { this.attachMovie("Punkt", "Punkt"+i, i); x = Math.round(2*r*Math.random()-r); y = Math.round(2*r*Math.random()-r); setProperty("Punkt"+i, _x, x+xm); setProperty("Punkt"+i, _y, y+ym); if (x*x+y*y>r*r) { setProperty("Punkt" + i, _alpha, "10"); a++; } } k = n - a; pi = 4*k/n; }