<?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>Augmented World &#187; Flex</title>
	<atom:link href="http://www.augmented-world.de/tag/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.augmented-world.de</link>
	<description>Eine erweiterte Welt</description>
	<lastBuildDate>Tue, 21 Dec 2010 18:47:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>switch &#8230; case mit Klassentypen</title>
		<link>http://www.augmented-world.de/2010/11/04/getqualifiedclassname/</link>
		<comments>http://www.augmented-world.de/2010/11/04/getqualifiedclassname/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 10:37:34 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.augmented-world.de/?p=191</guid>
		<description><![CDATA[Hin und wieder muss ich in Flash zur Laufzeit Prüfen welchen Typ meine Klasse hat.  Adobe hat dafür verschiedene Methoden in ActionScript3 implementiert. Am zuverlässigsten funktioniert der &#8220;is&#8220;-Operator.  Dieser prüft, ob ein Objekt zu einem spezifischen Datentyp, einer Klasse oder einem Interface kompatibel ist. Als Rückgabewert gibt es ein &#8220;true&#8221; oder &#8220;false&#8220;. Dies bedeutet, dass [...]]]></description>
			<content:encoded><![CDATA[<p>Hin und wieder muss ich in Flash zur Laufzeit Prüfen welchen Typ meine Klasse hat.  Adobe hat dafür verschiedene Methoden in ActionScript3 implementiert.</p>
<p>Am zuverlässigsten funktioniert der &#8220;<em>is</em>&#8220;-Operator.  Dieser prüft, ob ein Objekt zu einem spezifischen Datentyp, einer Klasse oder einem Interface kompatibel ist. Als Rückgabewert gibt es ein &#8220;<em>true</em>&#8221; oder &#8220;<em>false</em>&#8220;.<br />
Dies bedeutet, dass die Funktion auch dann &#8220;<em>true</em>&#8221; liefert, wenn das Objekte die zu prüfende Klasse als Elternklasse enthält. In manchen Fällen müssen viele verschiedene Klassen geprüft, und darauf aufbauen Entscheidungen im Programmablauf getroffen werden. Dies würde bedeuten, dass für jede mögliche Klasse ein &#8220;<em>if</em>&#8221; &#8211; Block mit dem &#8220;<em>is</em>&#8221; &#8211; Operator implementiert werden muss. Es wäre schön an dieser Stelle mit einem &#8220;<em>switch .. case</em>&#8221; &#8211; Block arbeiten zu können.</p>
<p>Dafür bietet sich die Funktion  &#8221;<em>getQualifiedClassName()&#8221; </em>an.  Diese Funktion liefert den kompletten Klassennamen inklusive dem Paketnamen als &#8220;<em>String</em>&#8221; zurück: &#8220;<em>paket::Klassenname</em>&#8220;.  Aus diesem String kann nun der Klassenname extrahiert werden.  Durch einen einfachen Stringvergleich ist es damit möglich, den Type der Klasse zu prüfen. Diese Methode hat gegenüber dem &#8220;<em>is</em>&#8221; Operator einige Nachteile.  So liefert diese  Methode auch dann den Wert &#8220;<em>false</em>&#8221; wenn das zu prüfende Objekt die gesucht Klasse erweitert oder ein entsprechendes Interface implementiert. Wiederum liefert diese Methode &#8220;<em>true</em>&#8221;  wenn Klassen aus unterschiedlichen Paketen aber mit selben Namen geprüft werden sollen.</p>
<p>Stellen diese Nachteile innerhalb der Programmierung kein Problem dar, kann mit dieser Methode ein entsprechender &#8220;<em>switch &#8230; case</em>&#8221; Block aufgebaut werden. Folgender CodeBlock kann dadurch umgewandelt werden:</p>
<pre name="code" class="js">
if (object is Class1) {}
else if (object is Class2) {}
else if (object is Class3) {}
else if ((object is Class4)|| (object is Class5)) {}
</pre>
<p>wird zu</p>
<pre name="code" class="js">
var class_name:String = getQualifiedClassName(object);
class_name = class_name.substring(class_name.search("::")+2);
switch (itemClass){
case "Class1":break;
case "Class2":break;
case "Class3":break;
case "Class4":
case "Class5":break;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.augmented-world.de/2010/11/04/getqualifiedclassname/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash Jpeg Encodierung mit Alchemy</title>
		<link>http://www.augmented-world.de/2010/02/22/flash-jpeg-encodierung-mit-alchemy/</link>
		<comments>http://www.augmented-world.de/2010/02/22/flash-jpeg-encodierung-mit-alchemy/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 12:50:42 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Freelancer]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.augmented-world.de/?p=159</guid>
		<description><![CDATA[Ich arbeite zur Zeit an einem Projekt bei dem Bilddaten in einer Flashapplikation bearbeitet und danach auf einen Server übertragen werden. Ein großes Problem bestand bis jetzt darin die Bitmapdaten nach Bearbeitung in JPEG zu encodieren. Dieser Vorgang ist sehr rechenintensiv und brachte die Applikation für einen kurzen Moment zum einfrieren.  Durch Zufall bin ich [...]]]></description>
			<content:encoded><![CDATA[<p>Ich arbeite zur Zeit an einem Projekt bei dem Bilddaten in einer Flashapplikation bearbeitet und danach auf einen Server übertragen werden. Ein großes Problem bestand bis jetzt darin die Bitmapdaten nach Bearbeitung in JPEG zu encodieren. Dieser Vorgang ist sehr rechenintensiv und brachte die Applikation für einen kurzen Moment zum einfrieren.  Durch Zufall bin ich über einen Blogeintrag von Jens Krause gestolpert. <a title="Blogeintrag von Jens Krause" href="http://www.websector.de/blog/2009/06/21/speed-up-jpeg-encoding-using-alchemy/">&lt;Link&gt;</a></p>
<p>In diesem wird beschrieben wie man mit Hilfe von Alchemy, ein Projekt zur Einbindung von C/C++ Quellcode in eine Flash/Flex Applikation, die JPEG Encodierung wesentlich beschleunigen kann.  Im wesentlichen geht es dabei darum eine Wrapperklasse in C zu schreiben, welche die Kommunikation zwischen dem AS3 Code und den verwendeten C Klassen übernimmt. Diese Klassen werden mit Hilfe verschiedener Helferklassen des Alchemyprojektes und einem modifizierten C Compiler in eine swc Datei übersetzt. Diese SWC Datei wird dann zum Bibliothekspfad des ActionScript-Projektebaum hinzugefügt.  Danach kann die Funktionalität der C Wrapperklasse genutzt werden.</p>
<p>Für eine genaue Beschreibung empfiehlt sich ein Blick auf folgende Seiten:</p>
<p><a href="http://labs.adobe.com/technologies/alchemy/">http://labs.adobe.com/technologies/alchemy/</a></p>
<p><a href="http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started">http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.augmented-world.de/2010/02/22/flash-jpeg-encodierung-mit-alchemy/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Flexschnittstelle für Ampache</title>
		<link>http://www.augmented-world.de/projekte/studium/ampflexcon/</link>
		<comments>http://www.augmented-world.de/projekte/studium/ampflexcon/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 09:37:16 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ampache]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.augmented-world.de/?page_id=57</guid>
		<description><![CDATA[Um meine Musiksammlung ständig erreichen zu können, läuft auf meinem Rechner ein AmpacheServer. Mit diesem Server ist es Möglich seine Musiksammlung über ein Webinterface zu durchsuchen und über einen Stream wiedergeben zu lassen. Die Entwickler von Ampache haben auch eine eigene XML Api integriert. Ich hatte die Idee einen MediaPlayer in Flex zu schreiben, welcher [...]]]></description>
			<content:encoded><![CDATA[<div>
<div>
<p>Um meine Musiksammlung ständig erreichen zu können, läuft auf meinem Rechner ein <a title="Ampache Website" href="http://www.ampache.org/" target="_blank">AmpacheServer</a>. Mit diesem Server ist es Möglich seine Musiksammlung über ein Webinterface zu durchsuchen und über einen Stream wiedergeben zu lassen.</p>
<p>Die Entwickler von Ampache haben auch eine eigene XML Api integriert. Ich hatte die Idee einen MediaPlayer in Flex zu schreiben, welcher auf diese Daten zugreift.</p>
<p>Als ersten Schritt entwickelte ich ein Softwaremodell für einen Datenmanager welcher Musikdaten zur Verfügung stellt. Darauf aufbauend wurde der Ampache &#8211; Datenmanager geschrieben. Die Schnittstelle funktioniert und kann unter <a title="Ampflexcon auf Googlecode" href="http://code.google.com/p/ampflexcon" target="_blank">ampflexcon.googlecode.com</a> heruntergeladen werden.</p>
<p><img class="alignnone" title="Ampflexcon TestGUI" src="http://data5.blog.de/media/131/3447131_8fe872a975_m.jpeg" alt="" width="391" height="292" /></p>
<p>Im Rahmen eines Projektes an der Berufsakademie Dresden entstand für diesen Datenmanager eine Flexgui. Mit Hilfe der Interfaces des Softwaremodells konnte ein weiterer Datenmanager für eine lokale Festplatte geschrieben werden.  In der GUI kann nun zur Laufzeit zwischen den beiden Datenmanager gewechselt werden.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.augmented-world.de/projekte/studium/ampflexcon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Panoramen in Flex</title>
		<link>http://www.augmented-world.de/projekte/ingenieurburo-paul/panoramen-in-flex/</link>
		<comments>http://www.augmented-world.de/projekte/ingenieurburo-paul/panoramen-in-flex/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 09:16:45 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[IBP]]></category>

		<guid isPermaLink="false">http://www.augmented-world.de/?page_id=47</guid>
		<description><![CDATA[Neben dem vEKM entwickel ich für meinen Praxispartner einen Panoramaviewer in Flash. Die Anwendung funktioniert und es können verschiedene Projektionstechniken ausgewählt werden. Der Quellcode ist Modular aufgebaut und kann jederzeit an Kundenwünsche angepasst werden. Geplant sind verschiedene Erweiterungen für den Restaurant- und Tourismusbereich. http://www.ibp-dresden.de/pano/panoSphereASE/StudiWerkPano.swf]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Panorama des Erich Kästner Museums" src="http://data5.blog.de/media/579/3284579_fffe96ebfb_m.jpeg" alt="" width="500" height="231" /></p>
<p>Neben dem vEKM entwickel ich für meinen Praxispartner einen Panoramaviewer in Flash.<br />
Die Anwendung funktioniert und es können verschiedene Projektionstechniken ausgewählt werden. Der Quellcode ist Modular aufgebaut und kann jederzeit an Kundenwünsche angepasst werden. Geplant sind verschiedene Erweiterungen für den Restaurant- und Tourismusbereich.</p>
<p><a title="Panorama des Erich Kästner Museums" href="http://www.ibp-dresden.de/pano/panoSphereASE/StudiWerkPano.swf" target="_blank">http://www.ibp-dresden.de/pano/panoSphereASE/StudiWerkPano.swf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.augmented-world.de/projekte/ingenieurburo-paul/panoramen-in-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vEKM</title>
		<link>http://www.augmented-world.de/projekte/ingenieurburo-paul/vekm/</link>
		<comments>http://www.augmented-world.de/projekte/ingenieurburo-paul/vekm/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 23:45:13 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[IBP]]></category>

		<guid isPermaLink="false">http://www.augmented-world.de/?page_id=18</guid>
		<description><![CDATA[Für ein Museum am Albertplatz in Dresden entsteht ein virtuelle Kopie.  Das Museum wird dazu in den 3D Raum übersetzt und mit Hilfe von Flash und Papervision3D dem Nutzer zugänglich gemacht. Um dem Nutzer den Umgang mit Exponaten zu erleichtern wird auf Augmented Reality Technik zurückgegriffen.]]></description>
			<content:encoded><![CDATA[<p>Für ein Museum am Albertplatz in Dresden entsteht ein virtuelle Kopie.  Das Museum wird dazu in den 3D Raum übersetzt und mit Hilfe von Flash und Papervision3D dem Nutzer zugänglich gemacht. Um dem Nutzer den Umgang mit Exponaten zu erleichtern wird auf Augmented Reality Technik zurückgegriffen.</p>
<p><img class="alignnone" title="Das virtuelle Erich Kästner Museum auf der Hand" src="http://data5.blog.de/media/059/3296059_9321337ab7_m.jpeg" alt="" width="500" height="293" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.augmented-world.de/projekte/ingenieurburo-paul/vekm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

