<?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>3spin &#187; as3</title>
	<atom:link href="http://blog.3spin.de/tag/as3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.3spin.de</link>
	<description>Trends, Techniken &#38; Projekte</description>
	<lastBuildDate>Wed, 21 Dec 2011 09:35:59 +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>Interaktiv durch die Welt von TROX</title>
		<link>http://blog.3spin.de/2011/09/interaktiv-durch-die-welt-von-trox/</link>
		<comments>http://blog.3spin.de/2011/09/interaktiv-durch-die-welt-von-trox/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 07:07:54 +0000</pubDate>
		<dc:creator>mwa</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[interaktiver Film]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[Trox]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=1338</guid>
		<description><![CDATA[Damit Menschen sich in Gebäuden und Räumen wohlfühlen, muss ein angenehmes Klima darin herrschen. Dabei spielt die Luftzufuhr eine wesentliche Rolle. Die Firma TROX stellt Lüftungs- und Klimasysteme her und sorgt so dafür, dass Menschen in sauberer, frischer und angenehm temperierter Luft leben und arbeiten können. Wie das Unternehmen TROX aufgebaut ist, wie die Lüftungs- [...]]]></description>
			<content:encoded><![CDATA[<p>Damit Menschen sich in Gebäuden und Räumen wohlfühlen, muss ein angenehmes Klima darin herrschen. Dabei spielt die Luftzufuhr eine wesentliche Rolle. Die Firma TROX stellt Lüftungs- und Klimasysteme her und sorgt so dafür, dass Menschen in sauberer, frischer und angenehm temperierter Luft leben und arbeiten können.</p>
<p>Wie das Unternehmen TROX aufgebaut ist, wie die Lüftungs- und Klimasysteme funktionieren und wie sie entwickelt werden, können Interessierte nun in einem interaktiven Film erfahren. Dieser wurde erstmalig auf der Internationalen Sanitärs- und Heizungsmesse vorgeführt. Dort zeigte sich das Publikum so begeistert von ihm, dass der Film für die Kunden von TROX auf eine interaktive CD-ROM gepackt und außerdem eine Web-Version entwickelt wurde.</p>
<p><img class="alignleft size-full wp-image-1340" title="trox_4_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/trox_4_500.jpg" alt="" width="500" height="296" /></p>
<p>&nbsp;</p>
<p><span id="more-1338"></span>3spin war wesentlich an der Erstellung dieses interaktiven Filmerlebnisses beteiligt. Für die betreuende Agentur KAISER+MORE aus Wiesbaden haben wir die ActionScript3-Umsetzung vorgenommen. Dabei kam auch das Framework spinOne zum Einsatz.</p>
<p><img class="alignleft size-full wp-image-1344" title="trox_1_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/trox_1_500.jpg" alt="" width="500" height="255" /></p>
<p>&nbsp;</p>
<p>Die Betrachter des Films können nun via Computer die TROX Forschungs- und Entwicklungslabore besuchen. Ein Moderator führt die Zuschauer dabei in einem interaktiven Dialog. Je nach Wunsch des Zuschauers erklärt dann in kurzen Videos entweder der Moderator selbst oder es kommen Experten in Interviews zu Wort.</p>
<p><img class="alignleft size-full wp-image-1362" title="trox_8_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/trox_8_500.jpg" alt="" width="500" height="284" /></p>
<p>&nbsp;</p>
<p>Zur Auswahl stehen unter anderen Videos zu den Themen Lufttechnik, Akustik, Brandschutz und Entrauchung. Besuche im Institute for Energy Efficient Buildings und bei Hadi Teherani in Hamburg sowie ein Imagefilm gehören ebenfalls zur Tour.</p>
<p>Außerdem können die Zuschauer selbst einen Strömungsversuch, einen Aktustiktest und eine Brandschutzprüfung starten.</p>
<p><img class="alignleft size-full wp-image-1350" title="trox_5_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/trox_5_500.jpg" alt="" width="500" height="292" /></p>
<p>&nbsp;</p>
<p>Die Inhalte des Films können einfach konfiguriert werden und auch die Navigation kann schnell verändert werden.</p>
<p>Angeboten wird die interaktive Tour in drei Sprachen: Deutsch, Englisch und Spanisch. Eine Schnellumschaltung der Sprache während der Tour ist möglich.</p>
<p><img class="alignleft size-full wp-image-1361" title="trox_6_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/trox_6_500.jpg" alt="" width="500" height="289" /></p>
<p>&nbsp;</p>
<p>Wer die „Tour de competence“ nun selbst erleben möchte, kann das auf der <a title="Internetseite von TROX" href="http://www.trox.de/de/company/about_trox/tdc/index.html" target="_blank">Internetseite von TROX</a> tun.</p>
<p>Wir wünschen viel Spaß dabei!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2011/09/interaktiv-durch-die-welt-von-trox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Per Mausklick zur perfekten Jeans</title>
		<link>http://blog.3spin.de/2011/09/per-mausklick-zur-perfekten-jeans/</link>
		<comments>http://blog.3spin.de/2011/09/per-mausklick-zur-perfekten-jeans/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 09:07:08 +0000</pubDate>
		<dc:creator>mwa</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Jeans-Berater]]></category>
		<category><![CDATA[Matratzen-Berater]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=1441</guid>
		<description><![CDATA[Die Qual der Wahl bei Jeans und bei Matratzen macht Neckermann Österreich den Kunden jetzt viel leichter: mit einem Jeans-Berater und einem Matratzen-Berater. Diese beiden praktischen Helfer hat 3spin umgesetzt und in das Internet-Portal von Neckermann integriert. Dabei werden die individuellen Wünsche des Kunden abgefragt und die am besten passenden Angebote aus dem Shop zusammengestellt. [...]]]></description>
			<content:encoded><![CDATA[<p>Die Qual der Wahl bei Jeans und bei Matratzen macht <a title="Neckermann Österreich" href="http://www.neckermann.at" target="_blank">Neckermann Österreich</a> den Kunden jetzt viel leichter: mit einem Jeans-Berater und einem Matratzen-Berater. Diese beiden praktischen Helfer hat 3spin umgesetzt und in das Internet-Portal von Neckermann integriert. Dabei werden die individuellen Wünsche des Kunden abgefragt und die am besten passenden Angebote aus dem Shop zusammengestellt.</p>
<p>Der Jeans-Berater ist für Frauen gedacht. Sie können angeben, welche Marke sie bevorzugen, welche Farbe es sein soll und welche Figur sie haben. Außerdem können sie sich ihren Lieblingsschnitt heraussuchen. Von der Schlaghose bis zur Marlene Jeans ist alles dabei. Und so sieht das ganze aus:</p>
<p><img class="alignleft size-full wp-image-1444" title="jeans_6_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/jeans_6_500.jpg" alt="" width="500" height="478" /></p>
<p>&nbsp;</p>
<p>Besonders attraktiv wird der Jeans-Berater durch die hübschen Grafiken und die kurzen Erklär-Texte, die zum Beispiel verraten,  welcher Schnitt die Beine am schönsten aussehen lässt.<span id="more-1441"></span></p>
<p><img class="alignleft size-full wp-image-1445" title="jeans_2_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/jeans_2_500.jpg" alt="" width="500" height="179" /><img class="alignleft size-full wp-image-1447" title="jeans_5_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/jeans_5_500.jpg" alt="" width="500" height="178" /><img class="alignleft size-full wp-image-1446" title="jeans_4_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/jeans_4_500.jpg" alt="" width="500" height="178" /></p>
<p>&nbsp;</p>
<p>Ganz ähnlich funkioniert der Matratzen-Berater. Hier kann der Kunde unter anderem angeben, welche Komfort-Klasse er sich wünscht.</p>
<p><img class="alignleft size-full wp-image-1467" title="matratzen_1_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/matratzen_1_500.jpg" alt="" width="500" height="305" /></p>
<p>&nbsp;</p>
<p>Außerdem werden der bevorzugte Härtegrad, die Größe, das Gewicht des Kunden und ob die Matratze allergiegeeignet sein soll abgefragt.</p>
<p><img class="alignleft size-full wp-image-1468" title="matratzen_2_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/matratzen_2_500.jpg" alt="" width="500" height="124" /></p>
<p>&nbsp;</p>
<p>Auch der Matratzen-Berater wird durch ausführliche Erklärungen ergänzt. Diese werden durch Grafiken veranschaulicht, die 3spin entwickelt hat.</p>
<p><img class="alignleft size-full wp-image-1475" title="matratzen_3_500" src="http://blog.3spin.de/wp-content/uploads/2011/08/matratzen_3_500.jpg" alt="" width="500" height="265" /></p>
<p>&nbsp;</p>
<p>Wir wünschen euch viel Spaß mit den beiden Beratern und hoffen, dass ihr nun schnell eure Traum-Jeans und die perfekte Matratze findet!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2011/09/per-mausklick-zur-perfekten-jeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Einladung zur 3spin Geschenkeschlacht</title>
		<link>http://blog.3spin.de/2010/12/einladung-zur-3spin-geschenkeschlacht/</link>
		<comments>http://blog.3spin.de/2010/12/einladung-zur-3spin-geschenkeschlacht/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 13:15:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[weihnachten]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=1087</guid>
		<description><![CDATA[Auch dieses Jahr setzen wir unsere Tradition fort und überraschen unsere Kunden mit einer kleinen Weihnachtsaktion. Nach der Lochkarte 2008 und dem Augmented Weihnachtsbaum 2009 gibt es diesmal ein Weihnachtsspiel: Du bist Weihnachtsmann, auf deinem Weg, Geschenke zu verteilen. Duelliere dich mit deinen Freunden und zeige, dass du der bessere Weihnachtsmann bist. Bewerfe sie mit [...]]]></description>
			<content:encoded><![CDATA[<p><a style="border: 0;" href="www.geschenke-schlacht.de" target="_blank"><img class="alignnone size-full wp-image-1088" title="Die 3spin Geschenkeschlacht" src="http://blog.3spin.de/wp-content/uploads/2010/12/blog_geschenkeschlacht_0.jpg" alt="" width="500" height="94" /></a></p>
<p>Auch dieses Jahr setzen wir unsere Tradition fort und überraschen unsere Kunden mit einer kleinen Weihnachtsaktion. Nach der <a href="http://blog.3spin.de/2008/12/weihnachts-und-neujahrsaktion/" target="_blank">Lochkarte</a> 2008 und dem <a href="http://blog.3spin.de/2010/01/3spin-weihnachtsgruesse/" target="_blank">Augmented Weihnachtsbaum</a> 2009 gibt es diesmal ein Weihnachtsspiel:</p>
<p>Du bist Weihnachtsmann, auf deinem Weg, Geschenke zu verteilen. Duelliere dich mit deinen Freunden und zeige, dass du der bessere Weihnachtsmann bist. Bewerfe sie mit Geschenken und verteidige dich mit Zuckerstangen.</p>
<p><strong>Hier geht&#8217;s zum Spiel: <a href="http://www.geschenke-schlacht.de" target="_blank">http://www.geschenke-schlacht.de</a></strong> </p>
<p>Wir danken für die tolle Zusammenarbeit in diesem Jahr und wünschen eine frohe Weihnachtszeit sowie einen guten Start ins neue Jahr!</p>
<p><img class="alignnone size-full wp-image-1093" title="Die 3spin Geschenkeschlacht" src="http://blog.3spin.de/wp-content/uploads/2010/12/blog_geschenkeschlacht_31.jpg" alt="" width="500" height="375" /><br />
<span id="more-1087"></span><br />
<img class="alignnone size-full wp-image-1090" title="Die 3spin Geschenkeschlacht" src="http://blog.3spin.de/wp-content/uploads/2010/12/blog_geschenkeschlacht_1.jpg" alt="" width="500" height="375" /></p>
<p><img class="alignnone size-full wp-image-1090" title="Die 3spin Geschenkeschlacht" src="http://blog.3spin.de/wp-content/uploads/2010/12/blog_geschenkeschlacht_2.jpg" alt="" width="500" height="375" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2010/12/einladung-zur-3spin-geschenkeschlacht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oh Tannenbaum</title>
		<link>http://blog.3spin.de/2010/11/oh-tannenbaum/</link>
		<comments>http://blog.3spin.de/2010/11/oh-tannenbaum/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 09:51:30 +0000</pubDate>
		<dc:creator>gs</dc:creator>
				<category><![CDATA[Inspirationen]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[weihnachten]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=1074</guid>
		<description><![CDATA[Nach dem ersten Schnee vor unserem Büro gestern, wollten wir die weihnachtliche Stimmung auch in unser Büro bringen. Um das zu bewerkstelligen haben wir einen kleinen Tannenbaum für den Desktop gebastelt. Und weil wir die Stimmung nicht für uns behalten wollen, könnt Ihr ihn hier direkt installieren. Einige werden ihn wiedererkennen aus unserer letzten Weihnachtsaktion. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.3spin.de/wp-content/uploads/2010/11/schnee.jpg" alt="" title="Schnee" width="500" height="375" class="alignnone size-full wp-image-1082" /></p>
<p>Nach dem ersten Schnee vor unserem Büro gestern, wollten wir die weihnachtliche Stimmung auch in unser Büro bringen. Um das zu bewerkstelligen haben wir einen kleinen Tannenbaum für den Desktop gebastelt. Und weil wir die Stimmung nicht für uns behalten wollen, könnt Ihr ihn hier direkt installieren. Einige werden ihn wiedererkennen aus unserer <a href="http://blog.3spin.de/2010/01/3spin-weihnachtsgruesse/">letzten Weihnachtsaktion</a>. Viel Spaß.</p>
<div id="badge">Download <a href="http://blog.3spin.de/tree/ChristmasTree.air">Christmas Tree</a> now.</p>
<p>This application requires Adobe&#174;&nbsp;AIR&#8482; to be installed for <a href="http://airdownload.adobe.com/air/mac/download/latest/AdobeAIR.dmg">Mac OS</a> or <a href="http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe">Windows</a>.</div>
<p><script type="text/javascript">
	swfobject.embedSWF("http://blog.3spin.de/tree/badge.swf", "badge", "217", "180", "9.0.115","expressInstall.swf", { appname: "Christmas Tree", appurl: "http://blog.3spin.de/tree/ChristmasTree.air", imageurl: "http://blog.3spin.de/tree/christmas.jpg", airversion: "2.0" }, { bgcolor: "#8FB1E1", allowscriptaccess: "always" }, {});
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2010/11/oh-tannenbaum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend AMF: Referenceerror bei Arrays und Objekten</title>
		<link>http://blog.3spin.de/2010/11/zend-amf-mit-arrays-objekten/</link>
		<comments>http://blog.3spin.de/2010/11/zend-amf-mit-arrays-objekten/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 14:51:56 +0000</pubDate>
		<dc:creator>og</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=1048</guid>
		<description><![CDATA[Ausgangssituation Bei Zend AMF kann es bei der Übermittlung von Arrays und Objekten zu Reference-Fehlern kommen, die zu unerwarteten Ergebnissen auf der Client-Seite führen können (z.B. RangeError: Error #2006). Im Rahmen eines Projekts sind wir auf diesen schwer auffindbaren Fehler gestoßen. Direkt zur Lösung Beispiel ActionScript: public class NetConnectionTest &#123; &#160; private var _service:NetConnection; &#160; [...]]]></description>
			<content:encoded><![CDATA[<h3>Ausgangssituation</h3>
<p>Bei Zend AMF kann es bei der Übermittlung von Arrays und Objekten zu Reference-Fehlern kommen, die zu unerwarteten Ergebnissen auf der Client-Seite führen können (z.B. <strong>RangeError: Error #2006</strong>). Im Rahmen eines Projekts sind wir auf diesen schwer auffindbaren Fehler gestoßen.</p>
<p><strong><a href="http://blog.3spin.de/?p=1048#solution">Direkt zur Lösung</a></strong><br />
<span id="more-1048"></span></p>
<h3>Beispiel</h3>
<p><strong>ActionScript:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> NetConnectionTest
<span style="color: #66cc66;">&#123;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _service:<span style="color: #0066CC;">NetConnection</span>;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> NetConnectionTest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	_service = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">NetConnection</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	_service.<span style="color: #0066CC;">connect</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;http://domain.example/amf/&quot;</span><span style="color: #66cc66;">&#41;</span>;
	_service.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;TestService.hello&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> Responder<span style="color: #66cc66;">&#40;</span>resultHandler, errorHandler<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> resultHandler<span style="color: #66cc66;">&#40;</span>result:<span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;resultHandler&quot;</span>, result<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><strong>PHP AMF Service Klasse</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Testservice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> hello<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$arrayA</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$arrayB</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$arrayC</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Beispiel 1</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arrayA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arrayB</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Error</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arrayA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arrayC</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// OK</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Beispiel 2</span>
	<span style="color: #000088;">$testClass</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SomeClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$testClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">value1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$arrayA</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$testClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">value2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$arrayB</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$testClass</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Error</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Beispiel-Fehler:</strong></p>
<p><img class="alignnone size-full wp-image-1058" title="blog_zendamferror" src="http://blog.3spin.de/wp-content/uploads/2010/11/blog_zendamferror1.jpg" alt="" width="500" height="266" /></p>
<h3>Ursache</h3>
<p>Die Serialisierung in Zend AMF unterstützt Referenzen, damit identische Objekte als Referenzen verwendet werden und nicht mehrfach übertragen werden. Da Arrays im Gegensatz zu Objekten nicht über eine interne ID verfügen, die in PHP abrufbar ist, vergleicht die Serialisierungs-Klasse die Inhalte des Arrays, um festzustellen, ob sie identisch sind. Im Beispiel sind $arrayA und $arrayB vom Inhalt gleich, daher wird bei der Serialiserung von $arrayB eine Referenz auf $arrayA übertragen. Dadurch kann es zu unvorhersehbaren Fehlern auf dem Client kommen.</p>
<h3 id="solution">Lösung</h3>
<p>Das Problem konnte gelöst werden, wenn in der AMF0 Serialisierungsklasse (Zend/Amf/Parse/Amf0/Serializer.php) der Referenz-Vergleich auskommentiert wird:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> writeObjectReference<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$object</span><span style="color: #339933;">,</span> <span style="color: #000088;">$markerType</span><span style="color: #339933;">,</span> <span style="color: #000088;">$objectByVal</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Workaround for PHP5 with E_STRICT enabled complaining about &quot;Only</span>
        <span style="color: #666666; font-style: italic;">// variables should be passed by reference&quot;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">null</span> <span style="color: #339933;">===</span> <span style="color: #000088;">$object</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$objectByVal</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$object</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$objectByVal</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$markerType</span> <span style="color: #339933;">==</span> Zend_Amf_Constants<span style="color: #339933;">::</span><span style="color: #004000;">AMF0_OBJECT</span>
            <span style="color: #339933;">||</span> <span style="color: #000088;">$markerType</span> <span style="color: #339933;">==</span> Zend_Amf_Constants<span style="color: #339933;">::</span><span style="color: #004000;">AMF0_MIXEDARRAY</span>
            <span style="color: #339933;">||</span> <span style="color: #000088;">$markerType</span> <span style="color: #339933;">==</span> Zend_Amf_Constants<span style="color: #339933;">::</span><span style="color: #004000;">AMF0_ARRAY</span>
            <span style="color: #339933;">||</span> <span style="color: #000088;">$markerType</span> <span style="color: #339933;">==</span> Zend_Amf_Constants<span style="color: #339933;">::</span><span style="color: #004000;">AMF0_TYPEDOBJECT</span>
        <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$ref</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_search</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$object</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_referenceObjects<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">//handle object reference</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// FOLGENDE ZEILEN AUSKOMMENTIEREN</span>
            <span style="color: #666666; font-style: italic;">/*
            if($ref !== false){
                $this-&gt;writeTypeMarker($ref,Zend_Amf_Constants::AMF0_REFERENCE);
                return true;
            }
            */</span>
&nbsp;
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_referenceObjects<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$object</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Hier gibt es noch einen Patch zum herunterladen: <a href="http://blog.3spin.de/wp-content/uploads/2010/11/zend-amf-reference.patch">AMF Reference Patch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2010/11/zend-amf-mit-arrays-objekten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Klöckner Messeterminal</title>
		<link>http://blog.3spin.de/2010/06/kloeckner-messeterminal/</link>
		<comments>http://blog.3spin.de/2010/06/kloeckner-messeterminal/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 12:37:06 +0000</pubDate>
		<dc:creator>Philipp Reinstädtler</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=869</guid>
		<description><![CDATA[Im Auftrag von hanfweihnacht hat 3spin die technische Umsetzung für das Messeterminal des Metalldistributeur Klöckner auf Basis von ActionScript 3 vorgenommen. Die Anwendung lief auf dem Klöckner-Messestand auf der Tube 2010 in Düsseldorf. Auf mehreren, in Tischen eingelassene, 42&#8243; Touch-Screens konnten die Kunden und Berater unterhaltsam über das umfangreiche Produktsortiment informieren. Folgende Funktionen wurden dafür [...]]]></description>
			<content:encoded><![CDATA[<p>Im Auftrag von <a href="http://www.hanfweihnacht.de/" target="_blank">hanfweihnacht</a> hat 3spin die technische Umsetzung für das Messeterminal des Metalldistributeur Klöckner auf Basis von ActionScript 3 vorgenommen.</p>
<p>Die Anwendung lief auf dem Klöckner-Messestand auf der Tube 2010 in Düsseldorf. Auf mehreren, in Tischen eingelassene, 42&#8243; Touch-Screens konnten die Kunden und Berater unterhaltsam über das umfangreiche Produktsortiment informieren.</p>
<p>Folgende Funktionen wurden dafür umgesetzt:</p>
<ul>
<li>Bereitstellung der Informationen in fünf Sprachen</li>
<li>Extern pflegbare Inhalte</li>
<li>Integrierter Bildschirmschoner</li>
<li>Interaktive Landkarten</li>
<li>Videoplayer &amp; Slideshow</li>
<li>Öffnen und verschieben mehrerer Inhalte (Fenster-Logik)</li>
<li>Usability- und Touch-Interface-Optimierungen</li>
</ul>
<p><img title="Klöckner Messestand - Im Stand" src="http://blog.3spin.de/wp-content/uploads/2010/06/DSC_0037.jpg" alt="" width="500" height="332" /></p>
<p><span id="more-869"></span></p>
<p><img title="Klöckner Messestand - Das Terminal" src="http://blog.3spin.de/wp-content/uploads/2010/06/DSC_0028.jpg" alt="" width="500" height="332" /></p>
<p><img title="Klöckner Messestand - Terminal Nahansicht" src="http://blog.3spin.de/wp-content/uploads/2010/06/DSC_0027.jpg" alt="" width="500" height="332" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2010/06/kloeckner-messeterminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weihnachtskarte Dr. Buchert</title>
		<link>http://blog.3spin.de/2010/01/weihnachtskarte-dr-buchert/</link>
		<comments>http://blog.3spin.de/2010/01/weihnachtskarte-dr-buchert/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 09:02:46 +0000</pubDate>
		<dc:creator>Philipp Reinstädtler</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=816</guid>
		<description><![CDATA[Für die Rechtsanwaltsgesellschaft Dr. Buchert hat 3spin eine Weihnachtskarte vom Konzept bis hin zur Umsetzung entwickelt. Im Gegensatz zu einer &#8220;gewöhnlichen&#8221; Karte wurde diese jedoch virtuell übermittelt. Der spielerische Aspekt, das Auspacken der Karte aus dem Umschlag und weitere kleinere Metaphern wurden in den dreidimensonalen Raum transferiert. Umgesetzt wurde die Karte mit Adobe Flash und [...]]]></description>
			<content:encoded><![CDATA[<p>Für die <a href="http://www.dr-buchert.de/" target="_blank">Rechtsanwaltsgesellschaft Dr. Buchert</a> hat 3spin eine Weihnachtskarte vom Konzept bis hin zur Umsetzung entwickelt.</p>
<p>Im Gegensatz zu einer &#8220;gewöhnlichen&#8221; Karte wurde diese jedoch virtuell übermittelt. Der spielerische Aspekt, das Auspacken der Karte aus dem Umschlag und weitere kleinere Metaphern wurden in den dreidimensonalen Raum transferiert. Umgesetzt wurde die Karte mit Adobe Flash und der 3D Engine Papervision.</p>
<p><a href="http://blog.3spin.de/drb/" target="_blank">Hier</a> ist die Karte noch sichtbar &#8211; viel Spass beim Anschauen.</p>
<p><a href="http://www.dr-buchert.de/" target="_blank"><br />
<img src="http://blog.3spin.de/wp-content/uploads/2010/01/screen_aussen.jpg" alt="" /><br />
</a><br />
<br />
<a href="http://www.dr-buchert.de/" target="_blank"><br />
<img src="http://blog.3spin.de/wp-content/uploads/2010/01/screen_innen.jpg" alt="" /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2010/01/weihnachtskarte-dr-buchert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3spin Weihnachts- und Neujahrsgrüße</title>
		<link>http://blog.3spin.de/2010/01/3spin-weihnachtsgruesse/</link>
		<comments>http://blog.3spin.de/2010/01/3spin-weihnachtsgruesse/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 16:43:50 +0000</pubDate>
		<dc:creator>Philipp Reinstädtler</dc:creator>
				<category><![CDATA[3spin]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[augmented reality]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[konzeption]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=798</guid>
		<description><![CDATA[Nach einem erfolgreichen Jahr 2009 bedankt sich 3spin bei seinen Kunden und Partnern und wünscht alles Gute für 2010! Hierzu haben wir eine Postkarte mit einem so genannten &#8220;Marker&#8221; verschickt, mit welcher der Benutzer auf der Adresse blog.3spin.de/geschenk mittels Webcam einen virtuellen Weihnachtsbaum auf der Postkarte betrachten kann (Augmented Reality mit dem Flash Player). An [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-824" title="Weihnachtskarten" src="http://blog.3spin.de/wp-content/uploads/2010/01/Weihnachtskarten.jpg" alt="" width="500" height="280" /></p>
<p>Nach einem erfolgreichen Jahr 2009 bedankt sich 3spin bei seinen Kunden und Partnern und wünscht alles Gute für 2010!</p>
<p>Hierzu haben wir eine Postkarte mit einem so genannten &#8220;Marker&#8221; verschickt, mit welcher der Benutzer auf der Adresse <a href="http://blog.3spin.de/geschenk" target="_blank">blog.3spin.de/geschenk</a> mittels Webcam einen virtuellen Weihnachtsbaum auf der Postkarte betrachten kann (<a href="http://de.wikipedia.org/wiki/Augmented_reality" target="_blank">Augmented Reality</a> mit dem Flash Player). An den Adventssonntagen und an Heilig Abend gab es zusätzlich noch Kerzen und Geschenke.<br />
<span id="more-798"></span></p>
<p>Klingt kompliziert &#8211; ist aber ganz einfach &#8211; also am Besten einfach <a href="http://blog.3spin.de/geschenk/src/weihnachtskarte.pdf" target="_blank">ausdrucken</a> und testen:</p>
<p><a href="http://blog.3spin.de/geschenk/geschenk_a2.php" target="_blank">2. Advendssonntag</a></p>
<p><a href="http://blog.3spin.de/geschenk/geschenk_a3.php" target="_blank">3. Advendssontag</a></p>
<p><a href="http://blog.3spin.de/geschenk/geschenk_a4.php" target="_blank">4. Advenssonntag</a></p>
<p><a href="http://blog.3spin.de/geschenk/geschenk_ha.php" target="_blank">Heilig Abend</a></p>
<p><img src="http://blog.3spin.de/wp-content/uploads/2010/01/screen_geschenk.jpg" alt="Screenshot" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2010/01/3spin-weihnachtsgruesse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BASF – Diversity + Inclusion Trainer</title>
		<link>http://blog.3spin.de/2009/11/basf-%e2%80%93-diversity-inclusion-trainer/</link>
		<comments>http://blog.3spin.de/2009/11/basf-%e2%80%93-diversity-inclusion-trainer/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 10:49:40 +0000</pubDate>
		<dc:creator>gs</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=770</guid>
		<description><![CDATA[Für die Agentur Neuland+Herzer aus Frankfurt haben wir die Umsetzung des Diversity + Inclusion Trainer für das BASF-Intranet übernommen. Bei dem Thema Diversity + Inclusion geht es darum, dass Mitarbeiter in verschiedenen Gebieten ihr Wissen erweitern und durch regelmäßiges Training ihren Horizont erweitern. Neben der Vermittlung von Sozial- und Problemlösungskompetenzen macht der Diversity + Inclusion [...]]]></description>
			<content:encoded><![CDATA[<p>Für die Agentur <a href="http://www.neuland-herzer.com/">Neuland+Herzer</a> aus Frankfurt haben wir die Umsetzung des<br />
Diversity + Inclusion Trainer für das BASF-Intranet übernommen.</p>
<p>Bei dem Thema Diversity + Inclusion geht es darum, dass Mitarbeiter in verschiedenen Gebieten ihr Wissen erweitern und durch regelmäßiges Training ihren Horizont erweitern. Neben der Vermittlung von Sozial- und Problemlösungskompetenzen macht der<br />
Diversity + Inclusion Trainer verständlich, wie die Vielfältigkeit der Mitarbeiter das Unternehmen voranbringen kann. Die Anwendung besteht dazu aus elf Spielen, die einfach pfleg- und erweiterbar sind und die dem Spieler zum Trainieren zur Verfügung stehen. Für Tests können einzelne Aufgaben der verschiedenen Spiele flexibel kombiniert werden.</p>
<p>Die erste Phase des Projekts wurde von uns durch die Umsetzung eines Prototyps unterstützt, während weitere Teile des Konzepts verfeinert wurden. Anschließend übernahmen wir die Umsetzung der finalen Anwendung. Diese besteht aus einem Frontend auf Basis von Adobe Flash und einem Backend, das mit PHP und dem Zend-Framework umgesetzt wurde. Die Umsetzung der Flash-Frontends erfolgte in purem ActionScript 3.0-Code, wobei auch hier das Framework  spinOne für  eine erhebliche Zeitersparnis bei verbesserter Performance sorgte. </p>
<p>Folgende weitere Features wurden umgesetzt:</p>
<ul>
<li>Mehrsprachigkeit: Deutsch/Englisch</li>
<li>Pflege der Daten</li>
<li>Benutzerregistrierung/-anmeldung</li>
<li>Komplexe Statistikabfragen</li>
<li>Performance-Optimierung</li>
<li>DB Request-Caching</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2009/11/basf-%e2%80%93-diversity-inclusion-trainer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Kaffee in der Hosentasche &#8211; Ferrero Pocket Coffee</title>
		<link>http://blog.3spin.de/2009/10/der-kaffee-in-der-hosentasche-ferrero-pocket-coffee/</link>
		<comments>http://blog.3spin.de/2009/10/der-kaffee-in-der-hosentasche-ferrero-pocket-coffee/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 08:21:20 +0000</pubDate>
		<dc:creator>Philipp Reinstädtler</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://blog.3spin.de/?p=719</guid>
		<description><![CDATA[Für die Agentur Syzygy hat 3spin die ActionScript3-Umsetzung der Microsite Ferrero Pocket Coffee übernommen. Das italienische Straßencafé bietet neben einem Gewinnspiel einen E-Card Bereich, in dem verschiedene Motive mit einem eigenen Foto versehen und an Freunde verschickt werden können. Das eingebettete Spiel Solitär und die Introanimation wurden von Syzygy zur Verfügung gestellt. Einen sonnigen Cafébesuch [...]]]></description>
			<content:encoded><![CDATA[<p>Für die Agentur <a href="http://www.syzygy.de" target="blank">Syzygy</a> hat 3spin die ActionScript3-Umsetzung der <a href="http://www.pocketcoffee.de" target="blank">Microsite Ferrero Pocket Coffee</a> übernommen. Das italienische Straßencafé bietet neben einem Gewinnspiel einen E-Card Bereich, in dem verschiedene Motive mit einem eigenen Foto versehen und an Freunde verschickt werden können. Das eingebettete Spiel Solitär und die Introanimation wurden von Syzygy zur Verfügung gestellt.</p>
<p>Einen sonnigen Cafébesuch wünscht das 3spin-Team!</p>
<p><a href="http://www.pocketcoffee.de" target="blank"><br />
<img title="Pocket Coffee Startseite" src="http://blog.3spin.de/wp-content/uploads/2009/09/pc_home.jpg" alt="Pocket Coffee Startseite" /><br />
</a></p>
<p><a href="http://www.pocketcoffee.de" target="blank"><span id="more-719"></span><br />
<img title="Pocket Coffee Ecard" src="http://blog.3spin.de/wp-content/uploads/2009/09/pc_ecard.jpg" alt="Pocket Coffee Ecard" /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3spin.de/2009/10/der-kaffee-in-der-hosentasche-ferrero-pocket-coffee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

