<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Thomas Aull // Grafik und Webdesign // Grafikdesign, Webdesign, Screendesign, Flash, ActionScript, (X)HTML, CSS &#187; Flash &amp; ActionScript</title>
	<atom:link href="http://www.thomas-aull.de/category/flash-actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thomas-aull.de</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 08:28:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Größe eines Flash-HTML-Containers zur Laufzeit ändern</title>
		<link>http://www.thomas-aull.de/2010/04/grose-eines-flash-html-containers-zur-laufzeit-andern/</link>
		<comments>http://www.thomas-aull.de/2010/04/grose-eines-flash-html-containers-zur-laufzeit-andern/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 16:30:14 +0000</pubDate>
		<dc:creator>Thomas Aull</dc:creator>
				<category><![CDATA[Flash & ActionScript]]></category>
		<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://www.thomas-aull.de/?p=1492</guid>
		<description><![CDATA[

Hier ein kurzer Tipp, der sehr nützlich sein kann wenn man eine HTML/CSS Website baut die auch ein paar Flash-Elemente beeinhalten soll. Manchmal kommt es nämlich vor, dass sich die Größe des Flash´s verändern soll und die ist leider durch die Größe des HTML-Containers in dem das Flash eingebunden ist begrenzt. Mit ein wenig Java- [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.thomas-aull.de/2010/03/grose-eines-flash-html-containers-zur-laufzeit-andern/"><img src="http://www.thomas-aull.de/wp-content/uploads/flash_containerbreite1.jpg" alt="flash_containerbreite" title="flash_containerbreite" width="94" height="94" class="alignleft size-full wp-image-1493" /></a>

<p>Hier ein kurzer Tipp, der sehr nützlich sein kann wenn man eine HTML/CSS Website baut die auch ein paar Flash-Elemente beeinhalten soll. Manchmal kommt es nämlich vor, dass sich die Größe des Flash´s verändern soll und die ist leider durch die Größe des HTML-Containers in dem das Flash eingebunden ist begrenzt. Mit ein wenig Java- und ActionScript kann man das Problem aber ganz leicht beheben.</p>

<span id="more-1492"></span>
<div class="trennlinie_hor_lang">trennlinie</div>

<p>Dieser Code muss in das HTML oder in eine von extern eingebundene JavaScript Datei:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
    <span style="color: #003366; font-weight: bold;">function</span> containerAnpassen<span style="color: #009900;">&#40;</span>id<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	    <span style="color: #003366; font-weight: bold;">var</span> container <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    container.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> width<span style="color: #339933;">+</span><span style="color: #3366CC;">'px'</span><span style="color: #339933;">;</span>
	    container.<span style="color: #660066;">style</span>.<span style="color: #660066;">height</span> <span style="color: #339933;">=</span> height<span style="color: #339933;">+</span><span style="color: #3366CC;">'px'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>




<p>Diese 3 Zeilen JavaScript sorgen dafür, dass das HTML-Element mit der übergebenen ID die ebenfalls übergebene neuen Werte für Breite und Höhe bekommt. Bindet man sein SWF jetzt mit 100% Höhe und Breite ein (z.B. mit <a href="http://code.google.com/p/swfobject/">SWFObject 2.0</a>) ist das Flash immer so groß wie der Container und wird somit mitskaliert</p>

<p>In Flash muss man dann diese JavaScript Funktion dann nur noch aufrufen, und das funktioniert folgendermaßen:</p>

<p>ActionScript 3:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">    ExternalInterface.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;containerAnpassen&quot;</span>, <span style="color: #ff0000;">&quot;container&quot;</span>, 300, 200<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>




<p>Mit der Funktion ExternalInterface.call werden zuerst der Funktionsname im Javascript und anschließend zu übergebende Parameter übergeben (in diesem Fall den Namen des Flashcontainers, sowie die neuen Angaben für Höhe und Breite).</p>

<p>Wer das ganze mal in Aktion sehen will: <a href="http://www.thomas-aull.de/wp-content/uploads/flashcontainer_anpassen_demo/">Demo</a><br/>
Und hier gibts ein <a href='http://www.thomas-aull.de/wp-content/uploads/Flashcontainer_anpassen_AS3.zip'>Codebeispiel zum Download</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thomas-aull.de/2010/04/grose-eines-flash-html-containers-zur-laufzeit-andern/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Flash CS5 &#8211; Was gibts neues (abgesehen vom iPhone-App-Export&#8230;)</title>
		<link>http://www.thomas-aull.de/2009/12/flash-cs5-was-gibts-neues-abgesehen-vom-iphone-app-export/</link>
		<comments>http://www.thomas-aull.de/2009/12/flash-cs5-was-gibts-neues-abgesehen-vom-iphone-app-export/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:35:10 +0000</pubDate>
		<dc:creator>Thomas Aull</dc:creator>
				<category><![CDATA[Flash & ActionScript]]></category>

		<guid isPermaLink="false">http://www.thomas-aull.de/?p=1424</guid>
		<description><![CDATA[

Flash CS5 steht in den Startlöchern. Die Beta soll innerhalb der nächsten Wochen veröffentlicht werden und vermutlich folgt irgendwann nächstes Jahr die neue Creative Suite. Das Top- (und wohl auch meistgehypte) Feature der neuen Flash Version ist die Möglichkeit Programme und Spiele für iPhone und iPod touch zu entwickeln. Lee Brimelow hat auf gotoandlearn.com ein [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.thomas-aull.de/2009/12/flash-cs5-was-gibts-neues-abgesehen-vom-iphone-app-export/"><img src="http://www.thomas-aull.de/wp-content/uploads/flash_cs5.jpg" alt="flash_cs5" title="flash_cs5" width="94" height="94" class="alignleft size-full wp-image-1478" /></a>

<p>Flash CS5 steht in den Startlöchern. Die Beta soll innerhalb der nächsten Wochen veröffentlicht werden und vermutlich folgt irgendwann nächstes Jahr die neue Creative Suite. Das Top- (und wohl auch meistgehypte) Feature der neuen Flash Version ist die Möglichkeit Programme und Spiele für iPhone und iPod touch zu entwickeln. <a href="http://theflashblog.com/">Lee Brimelow</a> hat auf <a href="http://www.gotoandlearn.com">gotoandlearn.com</a> ein <a href="http://gotoandlearn.com/play?id=118">30-minütiges Video</a> über weitere neue Features vorgestellt, die auch nicht ganz ohne sind. Für alle die keine Zeit/Lust haben sich das Video anzugucke gibts hier eine kleine Übersicht inklusive einer kurzen (subjektiven) Nützlichkeitsbewertung von mir:</p>

<span id="more-1424"></span>
<div class="trennlinie_hor_lang">trennlinie</div>

<h2>Allgemein</h2>
<ul class="bewertung"> 
    <li class="stern1">Der <strong>Splash-Screen</strong> beim Start überdeckt nicht den Rest. Man kann während Flash lädt in anderen Programmen weiterarbeiten.</li>
    <li class="stern2">Der <strong>Komponenten-Inspektor</strong> fällt weg. Eigenschaften von Standartkomponenten werden statt dessen rechts in der Sidebar angezeigt.</li>
    <li class="stern2">Das <strong>Farbauswahl-Bedienfeld</strong> wurde überarbeitet.</li>
    <li class="stern2">Es gibt eine „<strong>SWF-History</strong>“ die den Veröffentlichungszeitpunkt und die Dateigröße jeder veröffentlichten swf anzeigt. Dateigrößenveränderungen können so gut nachvollzogen werden und es gibt eine Warnung wenn diese sich mehr als verdoppelt. Praktisch für Bannerentwicklung o.ä. wo man in der kb-Anzahl meistens eingeschränkt ist.</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>
 
<h2>Video</h2>
<ul class="bewertung">
    <li class="stern1">Es gibt ein paar <strong>neue Skins</strong> für die FLVPlayback-Komponente.</li>
    <li class="stern2">Interaktion mit eingebetteten Videos ist auch auf der Bühne möglich und können beispielsweise dort abgespielt werden.</li>
    <li class="stern3"><strong>ActionScript CuePoints</strong> können über ein Bedienfeld hinzugefügt werden.</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>

<h2>Schrifteinbettung</h2>
<ul class="bewertung">
    <li class="stern4">Es gibt ein neues <strong>Bedienfeld für die Schrifteinbettung</strong>: In diesem werden alle Schriften die irgenwdo im Flashprojekt eingebettet sind angezeigt und man kann bequem alle Optionen dafür einstellen. Die fieberhafte Suche nach Textfeldern mit eingebetteten Schriften fällt also demnächst weg :-) Über das Bedienfeld lassen sich auch neue Schriftarten einbetten.</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>
 
<h2>Dateiformat</h2>
<ul class="bewertung">
    <li class="stern5">Es gibt ein neues Dateiformat: unkomprimiertes xfl. Alle Daten werden auf XML-Basis in einem Ordner gespeichert. Dateien aus der Bibliothek liegen als Rohdaten vor. Der große Vorteil: Die XML-Daten können in eine Versionkontrolle integriert werden.</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>
 
<h2>Coding</h2>
<ul class="bewertung">
    <li class="stern3"><strong>Snippet-Bedienfeld</strong> mit vielen vordefinierten Best-Practise-Snippets für verschiedene Anwendungsfälle.</li>
    <li class="stern5"><strong>Code-Hinting und Code-Completion</strong> für eigene Klassen. Endlich!</li>
    <li class="stern1">Das <strong>Compiler-Errors Bedienfeld</strong> wurde leicht überarbeitet</li>
    <li class="stern4"><strong>Flash-Builder Integration:</strong> Flash Projekte können im Flash Builder programmiert werden. Filme können aus FlashBuilder in Flash Professional veröffentlicht, getestet und debuggt werden.</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>
 
<h2>Deko-Werkzeug</h2>
<ul class="bewertung">
    <li class="stern2">eigene Brushes können mit JavaScript erstellt werden. Nutzt das irgendjemand?</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>
 
<h2>Veröffentlichen</h2>
<ul class="bewertung">
    <li class="stern4">Werden SWFs als HTML veröffentlicht, wird standartmäßig <strong>SWF-Object2</strong> als Einbindungsmethode verwendet.</li>
</ul>

<div class="trennlinie_hor_lang">trennlinie</div>
 
<h2>Text Layer Framework (TLF)</h2>
<ul class="bewertung">
	<li class="stern4">mehrere Textcontainer können ähnlich wie in InDesign miteinander verbunden werden. Dieser bleibt auch über alle verlinkten Textfelder hinaus markierbar.</li>
	<li class="stern3">mehrspaltiger Text</li>
	<li class="stern2">japanischer und arabischer Text wird nativ unterstützt (Leserichtung oben nach unten und links nach rechts)</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.thomas-aull.de/2009/12/flash-cs5-was-gibts-neues-abgesehen-vom-iphone-app-export/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Schulprojekt &#8211; Infografik</title>
		<link>http://www.thomas-aull.de/2009/11/schulprojekt-infografik/</link>
		<comments>http://www.thomas-aull.de/2009/11/schulprojekt-infografik/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 16:41:25 +0000</pubDate>
		<dc:creator>Thomas Aull</dc:creator>
				<category><![CDATA[Flash & ActionScript]]></category>

		<guid isPermaLink="false">http://www.thomas-aull.de/?p=1232</guid>
		<description><![CDATA[

Im letzten Berufsschulblock hatten wir mal wieder eine Projektaufgabe: Erstellung einer interaktiven Infografik. Und weil ich bei diesem Projekt für die Umsetzung mit Flash und AS3 zuständig war, will ich das hier mal kurz vorstellen.


trennlinie

Der Bene hat dazu folgendes ins Konzept geschrieben:

„Das Internet ist ein stetig wachsendes und lebendig wirkendes Medium. Genau das macht sich [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.thomas-aull.de/2009/11/schulprojekt-infografik/"><img src="http://www.thomas-aull.de/wp-content/uploads/schulprojekt_infografik.jpg" alt="schulprojekt_infografik" title="schulprojekt_infografik" width="96" height="96" class="alignleft size-full wp-image-1247" /></a>

<p>Im letzten Berufsschulblock hatten wir mal wieder eine Projektaufgabe:<strong> Erstellung einer interaktiven Infografik.</strong> Und weil ich bei diesem Projekt für die Umsetzung mit Flash und AS3 zuständig war, will ich das hier mal kurz vorstellen.</p>

<span id="more-1232"></span>
<div class="trennlinie_hor_lang">trennlinie</div>

<p>Der <a href="http://www.benedikt-scherer.de">Bene</a> hat dazu folgendes ins Konzept geschrieben:</p>

<blockquote><p>„Das Internet ist ein stetig wachsendes und lebendig wirkendes Medium. Genau das macht sich unsere animierte Infografik zu nutze. In Form von „Bubbles“ und „Partikeln“ wird ein Universum geschaffen was dem Internet gleicht.</p>

<p>Nachdem man sich durch betätigen des Power-Buttons mit dem Internet verbunden hat taucht man ein in die Digitale Welt des World Wide Web. Die Partikel im Hintergrund sind ständig in Bewegung und visualisieren das zu Anfang genannte Prinzip. Die großen Bubbles zeigen die eigentliche Thematik, Funktionsweise und den Zusammenhang des Internets auf. Vom PC aus mit dem Internet-Server verbunden ist alles mit einander vernetzt. So „kleben“ Nachrichten, E-Mail, Foren, Shops, Datenbanken und das Online-Banking am Server.</p>

<p>Für eine genauere Detailansicht reicht ein Klick auf die jeweiligen Bubbles. Was folgt ist das alt bekannte Prinzip: Aktion durch Reaktion. Durch Aktion des Users formieren sich die Partikel zu dem jeweilige Icons. In einer Detailansicht werden dann genauere Informationen der Bubbles aufgezeigt.”</p></blockquote>

<p>Tja, dem ist nichts mehr hinzuzufügen oder?<br/>
<a href="http://start.thomas-aull.de/schule/infografik">Hier kann man die Infografik anschauen</a></p>

<p>Und hier gibts einen kleinen Vorgeschmack:</p>

<a href="http://start.thomas-aull.de/schule/infografik"><img src="http://www.thomas-aull.de/wp-content/uploads/schulprojekt_infografik_screenshot.jpg" alt="schulprojekt_infografik_screenshot" title="schulprojekt_infografik_screenshot" width="474" height="474" class="alignnone size-full wp-image-1251" /></a>]]></content:encoded>
			<wfw:commentRss>http://www.thomas-aull.de/2009/11/schulprojekt-infografik/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>AS3 &#8211; Eigene Events verwenden</title>
		<link>http://www.thomas-aull.de/2009/07/as3-eigene-events-verwenden/</link>
		<comments>http://www.thomas-aull.de/2009/07/as3-eigene-events-verwenden/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:36:12 +0000</pubDate>
		<dc:creator>Thomas Aull</dc:creator>
				<category><![CDATA[Flash & ActionScript]]></category>

		<guid isPermaLink="false">http://www.thomas-aull.de/?p=1074</guid>
		<description><![CDATA[

Events sind ein nützliches Werkzeug in ActionScript3 um Programmabläufe erst zu einem bestimmten Zeitpunkt auszuführen. Ein einfaches Beispiel: Der Benutzer klickt auf einen Button und ein Link wird geöffnet. Für diesen und viele andere  Fälle hat Flash voreingestellte Events. Irgendwann, gerade wenn man eigene Klassen oder sogar ein eigenes Framework entwickelt, kommt man aber [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.thomas-aull.de/2009/07/as3-eigene-events-verwenden/"><img src="http://www.thomas-aull.de/wp-content/uploads/as3.jpg" alt="as3" title="as3" width="94" height="94" class="alignleft size-full wp-image-1154" /></a>

<p>Events sind ein nützliches Werkzeug in ActionScript3 um Programmabläufe erst zu einem bestimmten Zeitpunkt auszuführen. Ein einfaches Beispiel: Der Benutzer klickt auf einen Button und ein Link wird geöffnet. Für diesen und viele andere  Fälle hat Flash voreingestellte Events. Irgendwann, gerade wenn man eigene Klassen oder sogar ein eigenes Framework entwickelt, kommt man aber an den Punkt wo man denkt „Hmm, dafür wär jetzt ein eigenes Event echt praktisch”. Das ist zum Glück kein Problem - wenn man weiß wie´s geht:</p>

<span id="more-1074"></span>
<p><a href='http://www.thomas-aull.de/wp-content/uploads/as3_eigene_events_verwenden_beispieldateien.zip'>Download der Beispieldateien</a></p>
<div class="trennlinie_hor_lang">trennlinie</div>

<h2>Zuerst die Basics: Wie werden Events verwendet?</h2>

<p>Ein voreingestelltes Event zu nutzen ist ganz einfach. Bleiben wir bei dem Beispiel mit dem Button: Sobald der Nutzer auf die Schaltfläche „openLink_btn" klickt, soll etwas passieren. Das ganze funktioniert so:


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// EventListener</span>
openLink_btn<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">CLICK</span><span style="color: #000066; font-weight: bold;">,</span> machWas<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Eventfunktion</span>
<span style="color: #339966; font-weight: bold;">function</span> machWas<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    <span style="color: #009900; font-style: italic;">// Rufe eine URL auf</span>
    <span style="color: #004993;">navigateToURL</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLRequest</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;http://www.thomas-aull.de&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;_self&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>




<p>Wir sagen einem EventListener, dass er die ganze Zeit auf den Button „openLink_btn” horchen soll, ob der Nutzer mit der Maus draufklickt. Tritt dieser Fall ein, soll er die Funktion „machWas” aufrufen.</p>

<div class="trennlinie_hor_lang">trennlinie</div>

<h2>Jetzt geht´s ans Eingemachte: eigene Events schreiben...</h2>

<p>...was schon ein wenig schwieriger ist. Ein wenig Grundwissen in Objektorientierter Programmierung kann nicht schaden um den kompletten Vorgang zu verstehen.</p>

<p>Zuerst erzeugen wir unsere eigene Eventklasse, die die Flash-Eventklasse erweitert. Grob gesagt: Wir nehmen die Eventklasse von Flash und packen unseren Code einfach dazu. Dieser Code muss in einer eigenen .as-Datei mit dem Namen „MeinEvent.as" abgelegt werden:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> <span style="color: #000000;">&#123;</span>
        <span style="color: #009900; font-style: italic;">// Import der Flash Eventklasse</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.*;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> MeinEvent <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">Event</span> <span style="color: #000000;">&#123;</span>
&nbsp;
                <span style="color: #009900; font-style: italic;">// Eventarten, bekanntes Beispiel: MouseEvent.CLICK</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> static const TESTEREIGNIS<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;TESTEREIGNIS&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
                <span style="color: #009900; font-style: italic;">// Variable in denen wir zusätzliche Eventdaten speichern können</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
                <span style="color: #009900; font-style: italic;">// Der Konstruktor</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> MeinEvent<span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
			<span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
			<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span> = <span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></td></tr></table></div>




<p>Als nächstes erzeugen wir eine neue Flash-Datei (AS3) und packen folgenden Code in das erste Schlüsselbild:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// Wir sagen Flash, dass wir unsere Klasse &quot;MeinEvent&quot; benutzen wollen</span>
<span style="color: #0033ff; font-weight: bold;">import</span> MeinEvent<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Wir fügen einen EventListener wie im Beispiel oben hinzu</span>
<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>MeinEvent<span style="color: #000066; font-weight: bold;">.</span>TESTEREIGNIS<span style="color: #000066; font-weight: bold;">,</span> machWas<span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Hier feuern wir unser Event ab</span>
<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> MeinEvent<span style="color: #000000;">&#40;</span>MeinEvent<span style="color: #000066; font-weight: bold;">.</span>TESTEREIGNIS<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">null</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Die Funktion die dann durch den EventListener aufgerufen wird</span>
<span style="color: #339966; font-weight: bold;">function</span> machWas<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span>MeinEvent<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;Das Event funktioniert!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></td></tr></table></div>




<p>Zuerst sagen wir Flash, dass wir unsere Klasse "meinEvent" verwenden wollen. Anschließend schreiben wir einen normalen EventListener wie im MouseEvent-Beispiel oben. Wir sagen hier aber, dass er auf das Event „MeinEvent” und  den Eventtyp „TESTEREIGNIS” hören soll. Tritt dieser Fall ein, soll er die Funktion „machWas” aufrufen.</p>

<p>Weil jetzt aber niemand außer uns weiß, wann das Event genau aufgerufen werden soll, müssen wir das selbst machen. Das ist der sogenannte „Event-Dispatcher”. Der sagt, dass bitteschön jetzt unser Event „MeinEvent” mit dem Eventtyp „TESTEREIGNIS” abgefeuert werden soll. Wir wollen keine weiteren Eventdaten übergeben (= null).</p>

<p>Wenn wir den Film jetzt starten, bekommen wir einen trace mit dem Inhalt "Das Event funktioniert!". Wichtig dabei ist, dass alle Dateien im gleichen Verzeichnis liegen!</p>

<h2>Und jetzt?</h2>

<p>Das war die eigentliche Grundlogik. Wir können unsere Events aber noch um folgende Punkte ergänzen:</p>

<p><b>Mehrere Eventtypen verwenden:</b> Um weitere Eventtypen verwenden zu können, müssen wir einfach unsere Eventklasse um die entsprechenden Variablen erweitern. Wenn wir anstatt des Eventtyps „TESTEREIGNIS” auch noch „USERINTERKATION” und „BILD_GELADEN” abfragen möchten, hinterlegen wir diese einfach in unserer Klasse:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> <span style="color: #000000;">&#123;</span>
        <span style="color: #009900; font-style: italic;">// Import der Flash Eventklasse</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.*;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> MeinEvent <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">Event</span> <span style="color: #000000;">&#123;</span>
&nbsp;
                <span style="color: #009900; font-style: italic;">// Eventarten, bekanntes Beispiel: MouseEvent.CLICK</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> static const TESTEREIGNIS<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;TESTEREIGNIS&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
                <span style="color: #0033ff; font-weight: bold;">public</span> static const USERINTERAKTION<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;USERINTERAKTION&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
                <span style="color: #0033ff; font-weight: bold;">public</span> static const BILD_GELADEN<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;BILD_GELADEN&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
                <span style="color: #009900; font-style: italic;">// Variable in denen wir zusätzliche Eventdaten speichern können</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
                <span style="color: #009900; font-style: italic;">// Der Konstruktor</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> MeinEvent<span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
			<span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
			<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span> = <span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></td></tr></table></div>




<p><b>Eventdaten übergeben:</b> Häufig ist es auch erforderlich an das Event verschiedene Daten anzuhängen die für die Weiterverarbeitung nötig sind. In unsere Eventklasse haben wir dafür schon die nötige Variable „data” hinterlegt. Wir müssen im Dispatcher einfach noch die Daten übergeben. In unserer Eventfunktion können wir diese Daten dann auslesen:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;">&nbsp;
<span style="color: #009900; font-style: italic;">// EventListener</span>
<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>MeinEvent<span style="color: #000066; font-weight: bold;">.</span>TESTEREIGNIS<span style="color: #000066; font-weight: bold;">,</span> machWas<span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Dispatcher mit Eventdaten füttern...</span>
<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Object</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">name</span> = <span style="color: #990000;">&quot;Max Mustermann&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span>alter = <span style="color: #000000; font-weight:bold;">21</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #009900; font-style: italic;">// ...und abfeuern</span>
<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> MeinEvent<span style="color: #000000;">&#40;</span>MeinEvent<span style="color: #000066; font-weight: bold;">.</span>TESTEREIGNIS<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Eventfunktion: Daten auslesen</span>
<span style="color: #339966; font-weight: bold;">function</span> machWas<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span>MeinEvent<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">name</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span>alter<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></td></tr></table></div>




<p><a href='http://www.thomas-aull.de/wp-content/uploads/as3_eigene_events_verwenden_beispieldateien.zip'>Download der Beispieldateien</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thomas-aull.de/2009/07/as3-eigene-events-verwenden/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
