<?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>crusy.net &#187; Flash</title>
	<atom:link href="http://blog.crusy.net/category/computer/coding/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.crusy.net</link>
	<description>- Established 1979 -</description>
	<lastBuildDate>Thu, 09 Feb 2012 20:46:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>DisplayObject.cacheAsBitmapMatrix() auf Masken</title>
		<link>http://blog.crusy.net/2011/12/07/displayobject-cacheasbitmapmatrix-auf-masken/</link>
		<comments>http://blog.crusy.net/2011/12/07/displayobject-cacheasbitmapmatrix-auf-masken/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 12:35:52 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Geometrie]]></category>
		<category><![CDATA[Mask]]></category>
		<category><![CDATA[Maske]]></category>
		<category><![CDATA[maskieren]]></category>
		<category><![CDATA[Matrix]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1758</guid>
		<description><![CDATA[Tut es nicht. cacheAsBitmapMatrix() bringt bei Masken unschöne Nebeneffekte. So konnte ich gerade einen Sprite, der ein Objekt mit gesetzter cacheAsBitmapMatrix enthielt, nicht in ein Bitmap zeichnen, jedenfalls nicht mit Translationsmatrix m( Neulich gab es IMHO ein Problem mit Verlaufsmasken oder so&#8230; ich würde es einfach auf Masken nicht mehr verwenden, wer weiß, was es [...]]]></description>
			<content:encoded><![CDATA[<p>Tut es nicht. <a title="LiveDocs" href="http://help.adobe.com/de_DE/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#cacheAsBitmapMatrix" target="_blank">cacheAsBitmapMatrix()</a> bringt bei Masken unschöne Nebeneffekte. So konnte ich gerade einen Sprite, der ein Objekt mit gesetzter cacheAsBitmapMatrix enthielt, nicht in ein Bitmap <a title="LiveDocs" href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#draw%28%29" target="_blank">zeichnen</a>, jedenfalls nicht mit <a title="Translation" href="http://en.wikipedia.org/wiki/Translation_%28geometry%29" target="_blank">Translationsmatrix</a> m( Neulich gab es IMHO ein Problem mit Verlaufsmasken oder so&#8230; ich würde es einfach auf Masken nicht mehr verwenden, wer weiß, was es da noch gibt</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/12/07/displayobject-cacheasbitmapmatrix-auf-masken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweenMax.delayedCall mit delay 0</title>
		<link>http://blog.crusy.net/2011/12/07/tweenmax-delayedcall-mit-delay-0/</link>
		<comments>http://blog.crusy.net/2011/12/07/tweenmax-delayedcall-mit-delay-0/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 10:53:44 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[animieren]]></category>
		<category><![CDATA[Delay]]></category>
		<category><![CDATA[delayedCall]]></category>
		<category><![CDATA[Tween]]></category>
		<category><![CDATA[TweenMax]]></category>
		<category><![CDATA[Verzögerung]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1751</guid>
		<description><![CDATA[FYI: TweenMax.delayedCall mit einem delay von 0 wird nicht (nicht immer?) sofort ausgeführt. Bzw.: Das ist vom Zeitpunkt des Ausführung her nicht dasselbe wie die Zielfunktion direkt aufzurufen.]]></description>
			<content:encoded><![CDATA[<p>FYI: <a title="API" href="http://www.greensock.com/as/docs/tween/com/greensock/TweenMax.html#delayedCall%28%29" target="_blank">TweenMax.delayedCall</a> mit einem delay von 0 wird nicht (nicht immer?) sofort ausgeführt. Bzw.: Das ist vom Zeitpunkt des Ausführung her nicht dasselbe wie die Zielfunktion direkt aufzurufen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/12/07/tweenmax-delayedcall-mit-delay-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gestensteuerung ist 2011</title>
		<link>http://blog.crusy.net/2011/12/05/gestensteuerung-ist-2011/</link>
		<comments>http://blog.crusy.net/2011/12/05/gestensteuerung-ist-2011/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:56:32 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Gedanken lesen]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mindcontrol]]></category>
		<category><![CDATA[mindcontrolled]]></category>
		<category><![CDATA[Siri]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1737</guid>
		<description><![CDATA[Arduino liest Deine Gedanken, und schickt sie an Siri: und dann geht das ganze per Native Extension über&#8217;s Arduino an AIR. Nimm das, HTML5. Projekthomepage; vor kurzem haben sie einen Investor gefunden^^ via OK, evt. muss man noch eine App dazwischenschalten, für die Kommunikation von Siri zum Arduino: via]]></description>
			<content:encoded><![CDATA[<p><a title="Project Black Mirror upgrades Siri from voice recognition to mind reading" href="http://www.intomobile.com/2011/11/11/project-black-mirror-upgrades-siri-voice-recognition-mind-reading/" target="_blank">Arduino liest Deine Gedanken</a>, und schickt sie an <a title="wiki" href="http://de.wikipedia.org/wiki/Siri_%28Software%29" target="_blank">Siri</a>:</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/xFIRmnRHNUM?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p><a title="AIR Native Extension für Arduino" href="http://blog.crusy.net/2011/12/05/air-native-extension-fur-arduino/">und dann geht das ganze</a> per <a title="Native extensions for Adobe AIR" href="http://www.adobe.com/devnet/air/native-extensions-for-air.html" target="_blank">Native Extension</a> über&#8217;s Arduino an <a title="Adobe Integrated Runtime" href="http://de.wikipedia.org/wiki/Adobe_Integrated_Runtime" target="_blank">AIR</a>. Nimm das, HTML5.</p>
<p><a title="projectblackmirror.blogspot.com" href="http://projectblackmirror.blogspot.com/" target="_blank">Projekthomepage</a>; vor kurzem haben sie einen Investor gefunden^^ <a title="Arduino Forum" href="http://arduino.cc/blog/2011/11/14/a-device-to-read-your-mind-or-not/" target="_blank">via</a></p>
<p>OK, evt. muss man noch eine App dazwischenschalten, für die Kommunikation von Siri zum Arduino:</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/kIxIU7TmitA?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p><a title="Matatino Lets Arduino Connect To Your Mac Apps" href="http://arduino.cc/blog/2011/11/08/matatino-lets-arduino-connect-to-your-mac-apps/" target="_blank">via</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/12/05/gestensteuerung-ist-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR Native Extension für Arduino</title>
		<link>http://blog.crusy.net/2011/12/05/air-native-extension-fur-arduino/</link>
		<comments>http://blog.crusy.net/2011/12/05/air-native-extension-fur-arduino/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:28:38 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ANE]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Socket]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1735</guid>
		<description><![CDATA[Connecting Arduino Prototyping board to Adobe AIR through an ANE, via]]></description>
			<content:encoded><![CDATA[<p><a title="code.google.com" href="http://code.google.com/p/as3-arduino-connector/" target="_blank">Connecting Arduino Prototyping board to Adobe AIR through an ANE</a>, <a title="Arduino Blog" href="http://arduino.cc/blog/2011/12/05/connecting-your-arduino-to-air-using-an-air-native-extension/" target="_blank">via</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/12/05/air-native-extension-fur-arduino/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AS3: Kryptischer &#8220;Paketstruktur&#8221;-Fehler</title>
		<link>http://blog.crusy.net/2011/11/24/as3-kryptischer-paketstruktur-fehler/</link>
		<comments>http://blog.crusy.net/2011/11/24/as3-kryptischer-paketstruktur-fehler/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 15:45:56 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Kompilieren]]></category>
		<category><![CDATA[Paketstruktur]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1706</guid>
		<description><![CDATA[Ein Compiler-Fehler à la Eine Datei in einem Quellpfad muss die gleiche Paketstruktur „“ wie das Paket der Definition, „x.y.z“, aufweisen. (&#8220;x.y.z&#8221; variieren) behebt man am besten, indem man alle Sourcen dem Klassenpfad hinzufügt. via]]></description>
			<content:encoded><![CDATA[<p>Ein Compiler-Fehler à la</p>
<blockquote><p>Eine Datei in einem Quellpfad muss die gleiche Paketstruktur „“ wie das Paket der Definition, „x.y.z“, aufweisen.</p></blockquote>
<p>(&#8220;x.y.z&#8221; variieren) behebt man am besten, indem man alle Sourcen dem Klassenpfad hinzufügt. <a title="www.flashforum.de" href="http://www.flashforum.de/forum/actionscript-3/fdt-pfad-package-error-292411.html" target="_blank">via</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/11/24/as3-kryptischer-paketstruktur-fehler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3: Eingebettete XML</title>
		<link>http://blog.crusy.net/2011/11/10/as3-eingebettete-xml/</link>
		<comments>http://blog.crusy.net/2011/11/10/as3-eingebettete-xml/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 11:25:14 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Einbinden]]></category>
		<category><![CDATA[eingebunden]]></category>
		<category><![CDATA[Embed]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1700</guid>
		<description><![CDATA[Wer Fehler a la identifier vor xmltagstartend erforderlich. oder anderen kryptischen Kram bekommt, sollte die XML so einbinden: [Embed(source="assets/myXml.xml", mimeType="application/octet-stream")] private var EmbeddedXml : Class; private var _myXml : XML; // ... var ba : ByteArray = (new EmbeddedXml()) as ByteArray; var s : String = ba.readUTFBytes( ba.length ); _myXml = new XML( s ); [...]]]></description>
			<content:encoded><![CDATA[<p>Wer Fehler a la</p>
<blockquote><p>identifier vor xmltagstartend erforderlich.</p></blockquote>
<p>oder anderen kryptischen Kram bekommt, sollte die XML so einbinden:</p>
<pre>[Embed(source="assets/myXml.xml", mimeType="application/octet-stream")]
private var EmbeddedXml : Class;
private var _myXml : XML;
// ...
var ba : ByteArray = (new EmbeddedXml()) as ByteArray;
var s : String = ba.readUTFBytes( ba.length );
_myXml = new XML( s );
_myXml.ignoreWhitespace = true;</pre>
<p>Also: mimeType beachten, und dass die eingebettete Klasse nicht direkt auf XML gecastet wird. Außerdem ignoreWhiteSpace, das&#8217; ja klar <img src='http://blog.crusy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/11/10/as3-eingebettete-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR Native Extensions mit FDT</title>
		<link>http://blog.crusy.net/2011/10/28/air-native-extensions-mit-fdt/</link>
		<comments>http://blog.crusy.net/2011/10/28/air-native-extensions-mit-fdt/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 10:20:14 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ANE]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Native Extension]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1693</guid>
		<description><![CDATA[AIR Native Extensions (ANE) erlauben das Verwenden von System-spezifischen Funktionen – hier das Gyroscope. Mit FDT 4.5 verwendet man sie wie folgt: Die .ane-Datei kopieren, und die Kopie in .swc umbenennen. Die .swc wie gewohnt in den Classpath einbinden. In den Projekteigenschaften -&#62; &#8220;FDT Build Path&#8221; -&#62; &#8220;Build Order&#8221; die SWC auswählen, und einen Haken [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Native extensions for Adobe AIR" href="http://www.adobe.com/devnet/air/native-extensions-for-air.html" target="_blank">AIR Native Extensions</a> (ANE) erlauben das Verwenden von System-spezifischen Funktionen – hier <a title="Gyroscope native extension sample" href="http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/gyroscope.html" target="_blank">das Gyroscope</a>. Mit FDT 4.5 verwendet man sie wie folgt:</p>
<ol>
<li>Die .ane-Datei kopieren, und die Kopie in .swc umbenennen.</li>
<li>Die .swc wie gewohnt in den Classpath einbinden.</li>
<li>In den Projekteigenschaften -&gt; &#8220;FDT Build Path&#8221; -&gt; &#8220;Build Order&#8221; die SWC auswählen, und einen Haken bei &#8220;Use as Runtime Shared Code&#8221; setzen.</li>
<li>Die Extension im Description-XML deklarieren: Entgegen der Vorlage der Powerflasher heißt der Knoten nicht &lt;extension&gt;, sondern &lt;extensions&gt;, und sieht für dieses Beispiel wie folgt aus:<br />
&lt;extensions&gt;&lt;extensionID&gt;com.adobe.gyroscope&lt;/extensionID&gt;&lt;/extensions&gt;</li>
<li>Die .ane-Datei im Projekt ablegen, beispielsweise unter /bin/ane/</li>
<li>Im Build-XML (das mit dem ADT-Compiler) folgende Zeilen hinzufügen:<br />
&lt;arg value=&#8221;-extdir&#8221; /&gt;<br />
&lt;arg value=&#8221;../bin/ane&#8221; /&gt;</li>
<li>Kompilieren <img src='http://blog.crusy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ol>
<p><a title="@flibbi" href="https://twitter.com/#!/flibbi/status/129489733347848193" target="_blank">Tipp</a>, <a title="Using Flash Builder 4.5.1 to compile an AIR App that uses a native extension" href="http://blogs.adobe.com/actionscriptdocs/2011/10/using-flash-builder-4-5-1-to-compile-an-air-app-that-uses-a-native-extension.html" target="_blank">Quelle 1</a>, <a title="Building ADOBE AIR Applications" href="http://help.adobe.com/en_US/air/build/air_buildingapps.pdf" target="_blank">Quelle 2 (PDF)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/10/28/air-native-extensions-mit-fdt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash auf dem iPhone: Eine AIR-Videoplayer-App in FDT 4.5</title>
		<link>http://blog.crusy.net/2011/10/26/flash-auf-dem-iphone-eine-air-videoplayer-app-in-fdt-4-5/</link>
		<comments>http://blog.crusy.net/2011/10/26/flash-auf-dem-iphone-eine-air-videoplayer-app-in-fdt-4-5/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 07:50:36 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Stage3D]]></category>
		<category><![CDATA[StageVideo]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1683</guid>
		<description><![CDATA[Neulich stand ein entsprechendes Projekt auf dem Plan. Meine erste iPhone-App, und meine erste umfangreichere AIR-Anwendung. Hier meine Anmerkungen zum Workflow: Zum Aufsetzen des Projektes in FDT 4.5: Achtung: Der Updater der FDT-Standalone aktualisiert nicht die darunterliegende Eclipse-Version! Ich musste Eclipse 3.6 von Hand installieren, und dann FDT als Plugin drüber Dummer Fehler, hat mich [...]]]></description>
			<content:encoded><![CDATA[<p>Neulich stand ein entsprechendes Projekt auf dem Plan. Meine erste iPhone-App, und meine erste umfangreichere AIR-Anwendung. Hier meine Anmerkungen zum Workflow:</p>
<p>Zum Aufsetzen des Projektes in <a title="www.fdt.powerflasher.com" href="http://www.fdt.powerflasher.com/" target="_blank">FDT</a> 4.5:</p>
<ul>
<li>Achtung: <a title="FDT Blog Archive" href="http://fdt.powerflasher.com/blog/2011/06/today-we-released-another-fdt-4-update-for-free/#comments" target="_blank">Der Updater der FDT-Standalone aktualisiert nicht die darunterliegende Eclipse-Version</a>! Ich musste Eclipse 3.6 von Hand installieren, und dann FDT als Plugin drüber</li>
<li>Dummer Fehler, hat mich aus Gewohnheit aber einige Zeit gekostet: Nicht die Ant-Skripte benutzen, sondern die Launcher unter .settings/launch</li>
</ul>
<p>Zu AIR auf dem iPhone:</p>
<ul>
<li>Evt. muss der Compiler-Parameter -swf-version=11 gesetzt sein. Ohne hatte ich einen 1014 Class not found (<a title="Adobe Forums" href="http://adobe.hosted.jivesoftware.com/message/3339844" target="_blank">Quelle</a>). Damit das übernommen wird, muss ggf. USE_PROJECT_COMPILER_ARGUMENTS auf false stehen</li>
<li>Für mehr Performance: <a title="Setting Up FDT For Air 3 and Flash Player 11" href="http://fdt.powerflasher.com/blog/2011/08/setting-up-fdt-for-air-3-and-flash-player-11/" target="_blank">AIR 3 verwenden</a> (Danke, <a title="Björn Scholl" href="http://www.bscholl.de/" target="_blank">Björn</a>!); wobei ich die playerglobal.swc direkt unter <a title="www.adobe.com/support/flashplayer/downloads.htm" href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">www.adobe.com/support/flashplayer/downloads.html</a> gefunden habe</li>
<li>Einen Splashscreen (&#8220;Default.png&#8221;) fügt man im jeweiligen Ant-Script unter &#8220;Files to Package&#8221; unter der SWF ein: &lt;arg value=&#8221;Default.png&#8221; /&gt;<br />
(Damit erklärt sich von selbst, wo man weitere ADT-Parameter hinzufügt). Bei mir liegt das Default.png parallel zur SWF in /bin/</li>
<li>In dem Zusammenhang: Wenn ich die App-Icons in /bin/icons/* liegen habe, dann füge ich die <strong>relativ zu /bin/</strong> im Build-Skript (&lt;arg value=&#8221;icons/icon512.png&#8221; /&gt;) <strong>und</strong> im Descriptorfile (&lt;image512x512&gt;icons/icon512.png&lt;/image512x512&gt;) hinzu</li>
<li>Um die App bei Rückkehr zum Homescreen zu beenden, muss man in der ADL-Decriptor-XML unter iPhone.InfoAdditions &#8220;&lt;key&gt;UIApplicationExitsOnSuspend&lt;/key&gt;&lt;true/&gt;&#8221; hinzufügen (<a title="Adobe Forums: How to quit/exit an iOS app?" href="http://forums.adobe.com/message/3770694" target="_blank">Quelle</a>)</li>
<li>Wer das iPhone 3 und 4 verwenden will, muss unbedingt die unterschiedlichen Auflösungen im Auge behalten! Ich habe es nicht geschafft, einfach die höher aufgelöste SWF auf den kleineren Screen runterzuskalieren, sondern musste im Code darauf reagieren.</li>
</ul>
<p>Zu Video (hier: <a title="LiveDocs" href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/StageVideo.html" target="_blank">StageVideo</a>) auf dem iPhone:</p>
<ul>
<li>Ein gutes Tutorial (inkl. Sourcen) von <a title="www.bytearray.org" href="http://www.bytearray.org/" target="_blank">Thibault Imbert</a> für StageVideo gibt es <a title="Getting started with stage video" href="http://www.adobe.com/devnet/flashplayer/articles/stage_video.html" target="_blank">hier</a>.</li>
<li>Für StageVideo-Wiedergabe muss der renderMode (siehe Descriptor-XML) auf &#8220;gpu&#8221; oder &#8220;direct&#8221; stehen – &#8220;auto&#8221; genügt nicht. &#8220;gpu&#8221; verringert aber die Performance der restlichen Anwendung; &#8220;direct&#8221; scheint OK zu sein. (PS: &#8220;direct&#8221; wird im XML-Kommentar nicht erwähnt; <a title="AIR 3 enables hardware decoding of H.264 video in iOS apps" href="http://www.randytroppmann.com/2011/10/07/air-3-enables-hardware-decoding-of-h-264-video-in-ios-apps/" target="_blank">Quelle</a>)</li>
</ul>
<p>Fazit und offene Fragen:</p>
<ul>
<li>Die Performance ist schlechter als nativ, aber absolut OK. Man muss ein wenig darauf achten, wie viel man parallel macht, aber wenn man das weiß, ist AIR eine echte Alternative.</li>
<li>Wenn ich sage &#8220;die Performance ist OK&#8221;, dann meine ich Code, der (abgesehen von StageVideo) nicht optimiert ist! Die Performance ist sicherlich noch besser, wenn man z.B. <a title="LiveDocs" href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage3D.html" target="_blank">Stage3D</a> verwendet</li>
<li>Sweet: Bis zum Verpacken in einer IPA hat man ein SWF, was Abstimmungen extrem einfach macht.</li>
<li>Ich habe es nicht geschafft, das StageVideo um 90° zu drehen, was laut verschiedener Quellen möglich ist. Wer einen Tipp hat, immer her damit!</li>
<li>Die gleiche Anwendung müsste auch auf Android exportierbar sein, das habe ich aber noch nicht ausprobiert</li>
</ul>
<p>HTH,</p>
<p>Lennart</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/10/26/flash-auf-dem-iphone-eine-air-videoplayer-app-in-fdt-4-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Animierte Tag-Cloud in Flash</title>
		<link>http://blog.crusy.net/2011/09/15/animierte-tag-cloud-in-flash/</link>
		<comments>http://blog.crusy.net/2011/09/15/animierte-tag-cloud-in-flash/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 13:16:26 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tag Cloud]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1652</guid>
		<description><![CDATA[Gibt es hier (bzw. hier); die Sourcen liegen hier. Sind auch ganz gut anzupassen, auf dass sie nicht nur mit WP funktionieren]]></description>
			<content:encoded><![CDATA[<p>Gibt es <a title="WP-Cumulus Flash based tag cloud" href="http://www.roytanck.com/2008/03/06/wordpress-plugin-wp-cumulus-flash-based-tag-cloud/" target="_blank">hier</a> (bzw. <a title="How to repurpose my tag cloud Flash movie" href="http://www.roytanck.com/2008/05/19/how-to-repurpose-my-tag-cloud-flash-movie/" target="_blank">hier</a>); die Sourcen liegen <a title="plugins.svn.wordpress.org" href="http://plugins.svn.wordpress.org/wp-cumulus/" target="_blank">hier</a>. Sind auch ganz gut anzupassen, auf dass sie nicht nur mit WP funktionieren</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/09/15/animierte-tag-cloud-in-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Library-SWCs mit FDT erstellen</title>
		<link>http://blog.crusy.net/2011/08/30/library-swcs-mit-fdt-erstellen/</link>
		<comments>http://blog.crusy.net/2011/08/30/library-swcs-mit-fdt-erstellen/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 09:55:25 +0000</pubDate>
		<dc:creator>crusy</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[1047]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[Fehlermeldung]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.crusy.net/?p=1625</guid>
		<description><![CDATA[Es ist recht einfach, ein komplettes Projekt als SWC zu kompilieren: Rechtsklick auf&#8217;s Projekt -&#62; Run as -&#62; FDT SWC Library (Quelle). Ein Ant-Skript wäre schöner, aber grundsätzlich ist es so erst mal einfach. Was die Sache nämlich an anderer Stelle verkompliziert, ist der allseits beliebte Fehler 1047: Parameter initializer unknown or is not a [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist recht einfach, ein komplettes Projekt als SWC zu kompilieren: Rechtsklick auf&#8217;s Projekt -&gt; Run as -&gt; FDT SWC Library (<a title="Create SWC library from FDT" href="http://www.matthijskamstra.nl/blog/index.php/2010/07/14/create-swc-library-from-fdt/" target="_blank">Quelle</a>). Ein Ant-Skript wäre schöner, aber grundsätzlich ist es so erst mal einfach. Was die Sache nämlich an anderer Stelle verkompliziert, ist der allseits beliebte Fehler 1047:</p>
<pre>Parameter initializer unknown or is not a compile-time constant.</pre>
<p>bzw.</p>
<pre>Parameterinitialisierer unbekannt oder keine Kompilierungszeit-Konstante.</pre>
<p>Dieser tritt dann auf, wenn man eine Konstante als default-Übergabe-Parameter nutzt, und die Klasse mit der Konstante erst nach dieser Klasse kompiliert wird. Oder so. Es gibt haufenweise Einträge dazu im Bug-Tracker, teilweise schon jahrealt, leider ohne Ergebnis. Die längste Antwort von Adobe (die nicht &#8220;OK, wird noch mal geprüft&#8221; lautet) ist &#8220;Wäre schwierig zu implementieren, machen wir nicht.&#8221;^^</p>
<p>Deshalb folgende Lösungsansätze:</p>
<ul>
<li>Ein Workaround im Netz ist es, einfach keine Konstanten zu nutzen – das ist natürlich Quatsch.</li>
<li>Ein anderer ist es, die entsprechende Funktion zu ändern – statt &#8220;foo:Number=MyConstants.FOO&#8221; &#8220;foo:Number=NaN&#8221;. Man prüft dann <strong>in</strong> der Funktion auf NaN, und setzt ggf. dort erst die Konstante. Das funktioniert, aber das will man eigentlich nicht für externe Libraries (ich meine damit projektexterne Libraries, nicht das Projekt an sich, was hier ja auch eine Library werden soll^^) .</li>
<li>Dann: Unter Project Properties -&gt; FDT Build Path -&gt; Build Order die Reihenfolge der SWCs und Sourcefolder so zu ändern, dass die Klasse eben zuerst kompiliert wird. Geht auch nur, wenn Konstanten-Klasse und aufrufende Klasse in verschiedenen Packages liegen</li>
<li>Deshalb habe ich gerade ein neues Package angelegt, dort unter den korrekten Pfad die aufrufende Klasse verschoben, und dieses neue Package (heißt bei mir &#8220;compilerbug&#8221;) mit der oben beschriebenen Methode als erstes kompiliert <img src='http://blog.crusy.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  auch unschön, aber so muss ich wenigstens keine Klasse anderer Leute anfassen</li>
</ul>
<p>Das nervt mich gerade extrem, hat jemand eine bessere Lösung?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crusy.net/2011/08/30/library-swcs-mit-fdt-erstellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

