<?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>Rafał Woźniak - Portfolio &#38; Blog &#124; Webdesign, Flash, ActionScript, Photoshop, CSS</title>
	<atom:link href="http://flexibility.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://flexibility.pl</link>
	<description>Rafał Woźniak - Portfolio &#38; Blog &#124; Webdesign, Flash, ActionScript, Photoshop, CSS</description>
	<lastBuildDate>Thu, 21 Jan 2010 07:55:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>10 stron 2009 roku</title>
		<link>http://flexibility.pl/2010/01/21/10-stron-2009-roku/</link>
		<comments>http://flexibility.pl/2010/01/21/10-stron-2009-roku/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 07:55:10 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Inspiracje]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=566</guid>
		<description><![CDATA[Pora na małe podsumowanie ubiegłego roku. Pojawiło się kilka realizacji, które zrobiły na mnie piorunujące wrażenie. Pojawiło się kilka nowych trendów, a kilka starszych jeszcze bardziej ugruntowało swoją pozycję. Poniżej przedstawiam listę 10 stron, które mówiąc najprościej urwały mi łeb! Jest się czym inspirować w nadchodzącym roku!

1. ThemeForest
Oczywiście nie chodzi tu tylko o ThemeForest ale [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Pora na małe podsumowanie ubiegłego roku. Pojawiło się kilka realizacji, które zrobiły na mnie piorunujące wrażenie. Pojawiło się kilka nowych trendów, a kilka starszych jeszcze bardziej ugruntowało swoją pozycję. Poniżej przedstawiam listę 10 stron, które mówiąc najprościej urwały mi łeb! Jest się czym inspirować w nadchodzącym roku!</p>
<p style="text-align: left;">
<p style="text-align: left;">1. <a href="http://themeforest.net" target="_blank">ThemeForest</a></p>
<p style="text-align: left;">Oczywiście nie chodzi tu tylko o ThemeForest ale o cały Envato Marketplace. Na pierwszy rzut oka prosta, funkcjonalna grafika zaskakuje bogactwem szczegółów nie męcząc przy tym odbiorcy. Kwintesencja dobrego redesignu.</p>
<p style="text-align: left;"><a href="http://themeforest.net"><img class="aligncenter size-full wp-image-586" title="tf" src="http://flexibility.pl/wp-content/uploads/2010/01/tf.jpg" alt="" width="660" height="344" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">2. <a href="http://www.lech.pl/" target="_blank">Lech</a></p>
<p style="text-align: left;">Pierwsza z trzech realizacji z rodzimego podwórka. Cieszy fakt, że moje ulubione piwo może się pochwalić powalającą realizacją z wykorzystaniem 3d  i&#8230; filmów Bagińskiego!</p>
<p style="text-align: center;"><a href="http://www.lech.pl/"><img class="aligncenter size-full wp-image-581" title="lech3d" src="http://flexibility.pl/wp-content/uploads/2010/01/lech3d.jpg" alt="" width="660" height="344" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">3. <a href="http://www.walkmanstory.pl/" target="_blank">Walkman Story</a></p>
<p style="text-align: left;">Piękne kolory i fenomenalne animacje. Na dodatek wiele świetnych pomysłów na niebanalne przedstawienie produktu.</p>
<p style="text-align: center;"><a href="http://www.walkmanstory.pl/"><img class="aligncenter size-full wp-image-582" title="sony" src="http://flexibility.pl/wp-content/uploads/2010/01/sony.jpg" alt="" width="660" height="344" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">4. <a href="http://www.fullyillustrated.com" target="_blank">Fully Illustrated</a></p>
<p style="text-align: left;">Sposób prezentowania treści i miażdżące realizacje sprawiają, że ze strony po prostu nie chce się wychodzić! Bardzo ciemna, ale czysta szata graficzna nie męczy i nie odciąga oczu od powalających prac w portfolio.</p>
<p style="text-align: center;"><a href="http://www.fullyillustrated.com/"><img class="aligncenter size-full wp-image-583" title="fi" src="http://flexibility.pl/wp-content/uploads/2010/01/fi.jpg" alt="" width="660" height="344" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">5. <a href="http://www.netdreams.co.uk" target="_blank">Internet Dreams</a></p>
<p style="text-align: left;">Świetne javascriptowe rozwiązania sprawiają, że na stronie ciągle coś się dzieje. Strona zachwyca bogactwem szczegółów i jakością wykonania.</p>
<p style="text-align: center;"><a href="http://www.netdreams.co.uk"><img class="aligncenter size-full wp-image-578" title="id" src="http://flexibility.pl/wp-content/uploads/2010/01/id.jpg" alt="" width="660" height="343" /></a></p>
<p style="text-align: left;">6. <a href="http://www.eliteprivatebanking.pl/" target="_blank">Private Banking &#8211; Deutsche Bank</a></p>
<p style="text-align: left;">Zaglądam za każdym razem, gdy myślę, że zrobiłem fajny projekt. Skutecznie sprowadza na ziemię:).</p>
<p style="text-align: center;"><a href="http://www.eliteprivatebanking.pl"><img class="aligncenter size-full wp-image-577" title="db" src="http://flexibility.pl/wp-content/uploads/2010/01/db.jpg" alt="" width="660" height="339" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">7. <a href="http://www.kendaperez.com" target="_blank">Kendra Perez</a></p>
<p style="text-align: left;">Świetny przykład wykorzystania Papervision3d. Bardzo fajna galeria zdjęć.</p>
<p style="text-align: center;"><a href="http://www.kendaperez.com"><img class="aligncenter size-full wp-image-588" title="kp" src="http://flexibility.pl/wp-content/uploads/2010/01/kp.jpg" alt="" width="660" height="343" /></a></p>
<p style="text-align: left;">8. <a href="http://www.fordvehicles.com/the2010mustang" target="_blank">Mustang 2010</a></p>
<p style="text-align: left;">Bardzo rozbudowana flashowa stronka. Możemy stworzyć swój model Mustanga i pobrać go jako tapetę. Dodatkowo wiele świetnych filmów i zdjęć.</p>
<p style="text-align: left;"><a href="http://www.fordvehicles.com/the2010mustang"><img class="aligncenter size-full wp-image-589" title="m2010" src="http://flexibility.pl/wp-content/uploads/2010/01/m2010.jpg" alt="" width="660" height="343" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">9. <a href="http://www.ilovecolors.com.ar" target="_blank">ilovecolors</a></p>
<p style="text-align: left;">Stylem przypominać może WebDesignerWall. Nazwa bloga doskonale oddaje to, co widzimy &#8211; mnóstwo kolorów, jednakże niezwykle umiejętnie dobranych.</p>
<p style="text-align: center;"><a href="http://www.ilovecolors.com.ar"><img class="aligncenter size-full wp-image-591" title="ilc" src="http://flexibility.pl/wp-content/uploads/2010/01/ilc.jpg" alt="" width="660" height="343" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">10. <a href="http://ma.tt" target="_blank">Matt Mullenweg</a></p>
<p style="text-align: left;">Blog Matt&#8217;a Mullenweg&#8217;a od razu uderza przepiękną ilustracją. Reszta elementów strony doskonale pasuje do fenomenalnej góry.</p>
<p style="text-align: left;"><a href="http://ma.tt"><img class="aligncenter size-full wp-image-594" title="matt" src="http://flexibility.pl/wp-content/uploads/2010/01/matt.jpg" alt="" width="660" height="344" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2010/01/21/10-stron-2009-roku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 stron polskich agencji interaktywnych</title>
		<link>http://flexibility.pl/2009/12/30/20-stron-polskich-agencji-interaktywnych/</link>
		<comments>http://flexibility.pl/2009/12/30/20-stron-polskich-agencji-interaktywnych/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 15:05:20 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Inspiracje]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=517</guid>
		<description><![CDATA[W tym wpisie przedstawiam zestawienie 20 stron polskich agencji interaktywnych od prostych form blogowych do  rozbudowanych flashek. Zapraszam do przeglądania!]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">W tym wpisie przedstawiam zestawienie 20 stron polskich agencji interaktywnych od prostych form blogowych do  rozbudowanych flashek. Zapraszam do przeglądania!</p>
<p style="text-align: left;">
<p style="text-align: left;"><a title="Divante" href="http://divante.pl" target="_blank">1. Divante</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://divante.pl"><img class="aligncenter size-full wp-image-525" title="div" src="http://flexibility.pl/wp-content/uploads/2009/12/div.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.eura7.com" target="_blank">2. EURA7</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.eura7.com"><img class="aligncenter size-full wp-image-526" title="e7" src="http://flexibility.pl/wp-content/uploads/2009/12/e7.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.goldensubmarine.com" target="_blank">3. GoldenSubmarine</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.goldensubmarine.com"><img class="aligncenter size-full wp-image-528" title="gsm" src="http://flexibility.pl/wp-content/uploads/2009/12/gsm.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.infinitygroup.pl" target="_blank">4. Infinity Group</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.infinitygroup.pl"><img class="aligncenter size-full wp-image-529" title="ig" src="http://flexibility.pl/wp-content/uploads/2009/12/ig.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.insignia.pl" target="_blank">5. Insignia</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.insignia.pl"><img class="aligncenter size-full wp-image-531" title="i" src="http://flexibility.pl/wp-content/uploads/2009/12/i.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.netizens.pl" target="_blank">6. Netizens</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.netizens.pl"><img class="aligncenter size-full wp-image-532" title="net" src="http://flexibility.pl/wp-content/uploads/2009/12/net.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://opcom.pl" target="_blank">7. Opcom</a></p>
<p style="text-align: center;"><a href="http://opcom.pl"><img class="aligncenter size-full wp-image-533" title="opcom" src="http://flexibility.pl/wp-content/uploads/2009/12/opcom.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.os3.pl" target="_blank">8. OS3 Multimedia</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.os3.pl"><img class="aligncenter size-full wp-image-534" title="os3" src="http://flexibility.pl/wp-content/uploads/2009/12/os3.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://prideandglory.pl" target="_blank">9. Pride&amp;Glory Interactive</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://flexibility.pl/wp-content/uploads/2009/12/pag.jpg"><img class="aligncenter size-full wp-image-535" title="pag" src="http://flexibility.pl/wp-content/uploads/2009/12/pag.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://questagency.pl" target="_blank">10. Quest Agency</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://flexibility.pl/wp-content/uploads/2009/12/qa.jpg"><img class="aligncenter size-full wp-image-538" title="qa" src="http://flexibility.pl/wp-content/uploads/2009/12/qa.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.sointeractive.pl" target="_blank">11. SoInteractive</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://flexibility.pl/wp-content/uploads/2009/12/soin.jpg"><img class="aligncenter size-full wp-image-539" title="soin" src="http://flexibility.pl/wp-content/uploads/2009/12/soin.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.studiosynergia.pl" target="_blank">12. Studio Kreatywne Synergia</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.studiosynergia.pl"><img class="aligncenter size-full wp-image-540" title="syn" src="http://flexibility.pl/wp-content/uploads/2009/12/syn.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://xoestudio.com" target="_blank">13. xoestudio</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://xoestudio.com"><img class="aligncenter size-full wp-image-541" title="xoe" src="http://flexibility.pl/wp-content/uploads/2009/12/xoe.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.zjednoczenie.com.pl" target="_blank">14. Agencja Interaktywna Zjednoczenie</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://flexibility.pl/wp-content/uploads/2009/12/z.jpg"><img class="aligncenter size-full wp-image-542" title="z" src="http://flexibility.pl/wp-content/uploads/2009/12/z.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.k2.pl" target="_blank">15. K2 Internet SA</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://flexibility.pl/wp-content/uploads/2009/12/k2.jpg"><img class="aligncenter size-full wp-image-545" title="k2" src="http://flexibility.pl/wp-content/uploads/2009/12/k2.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.artegence.pl" target="_blank">16. Artegence</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.artegence.pl"><img class="aligncenter size-full wp-image-547" title="artegence" src="http://flexibility.pl/wp-content/uploads/2009/12/artegence.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.zubi.pl" target="_blank">17. Agencja Interaktywna  Zubi.pl</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://flexibility.pl/wp-content/uploads/2009/12/zubi.jpg"><img class="aligncenter size-full wp-image-548" title="zubi" src="http://flexibility.pl/wp-content/uploads/2009/12/zubi.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.bb-group.pl" target="_blank">18. Blueberry</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.bb-group.pl"><img class="aligncenter size-full wp-image-550" title="bb" src="http://flexibility.pl/wp-content/uploads/2009/12/bb.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.herbatha.pl" target="_blank">19. Herbatha</a></p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.herbatha.pl"><img class="aligncenter size-full wp-image-551" title="he" src="http://flexibility.pl/wp-content/uploads/2009/12/he.jpg" alt="" width="660" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;"><a href="http://www.cake.pl" target="_blank">20. Cake</a></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://www.cake.pl"><img class="aligncenter size-full wp-image-552" title="cake" src="http://flexibility.pl/wp-content/uploads/2009/12/cake.jpg" alt="" width="660" height="240" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/12/30/20-stron-polskich-agencji-interaktywnych/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Niesamowity przykład Sharikura 3D!</title>
		<link>http://flexibility.pl/2009/12/30/niesamowity-przyklad-sharikura-3d/</link>
		<comments>http://flexibility.pl/2009/12/30/niesamowity-przyklad-sharikura-3d/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 11:21:49 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Inspiracje]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[motion]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=501</guid>
		<description><![CDATA[http://www.verbatim.jp/senshuken/

Sharikura to obiecująca biblioteka 3d stworzona przez Masayuki Kido. Więcej o nim dowiecie się na tej stronie. Niestety Sharikura  nie jest jeszcze udostępniona dla wszystkich, jednak poszczególne przykłady jej wykorzystania zapowiadają rewolucję w kwestii wydajności silników 3d dla Flash.



W serwisie możemy (oprócz przeglądania dorobku firmy Verbatim) konstruować swoje roboty z wszelkiego rodzaju pamięci masowych i [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.verbatim.jp/senshuken/" target="_blank">http://www.verbatim.jp/senshuken/</a></p>
<p style="text-align: left;">
<p style="text-align: left;">Sharikura to obiecująca biblioteka 3d stworzona przez Masayuki Kido. Więcej o nim dowiecie się na <a title="Roxik" href="http://roxik.com" target="_blank">tej</a> stronie. Niestety Sharikura  nie jest jeszcze udostępniona dla wszystkich, jednak poszczególne przykłady jej wykorzystania zapowiadają rewolucję w kwestii wydajności silników 3d dla Flash.</p>
<p style="text-align: left;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-505" title="Verbatim - przykład Sharikura 3D" src="http://flexibility.pl/wp-content/uploads/2009/12/b1.jpg" alt="Verbatim - przykład Sharikura 3D" width="660" height="339" /></p>
<p style="text-align: left;">
<p style="text-align: left;">W serwisie możemy (oprócz przeglądania dorobku firmy Verbatim) konstruować swoje roboty z wszelkiego rodzaju pamięci masowych i walczyć z innymi podobnie poskładanymi &#8220;maszynami&#8221;. Pomysł świetny. Wykonanie również choć w przypadku niektórych konstrukcji razi &#8220;przenikanie&#8221; się ich części.</p>
<p style="text-align: left;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-506" title="b2" src="http://flexibility.pl/wp-content/uploads/2009/12/b2.jpg" alt="" width="660" height="339" /></p>
<p style="text-align: left;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-505" title="Verbatim - przykład Sharikura 3D" src="http://flexibility.pl/wp-content/uploads/2009/12/b1.jpg" alt="Verbatim - przykład Sharikura 3D" width="660" height="339" /></p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/12/30/niesamowity-przyklad-sharikura-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Papervision3D &#8211; Wstęp + prymitywne kształty</title>
		<link>http://flexibility.pl/2009/05/29/papervision3d-wstep-prymitywne-ksztalty/</link>
		<comments>http://flexibility.pl/2009/05/29/papervision3d-wstep-prymitywne-ksztalty/#comments</comments>
		<pubDate>Fri, 29 May 2009 19:03:47 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Papervision3d]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=349</guid>
		<description><![CDATA[Jak obiecałem przedstawiam temat tworzenia prymitywnych kształtów w Papervision3d. W efekcie otrzymamy obiekty nie pokryte żadnymi teksturami. O tym następnym razem. Dziś chciałem tylko pokazać jak prosto można uzyskać proste obiekty w 3D. Przed przystąpieniem do pracy upewnij się, że środowisko PV3D jest poprawnie zainstalowane (katalog "org" z paczki instalacyjnej musi się  znajdować w tym samym katalogu, co wynikowy SWF). Tradycyjnie poniżej pełny kod potrzebny do wykonania tego tutoriala.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Jak obiecałem przedstawiam temat tworzenia prymitywnych kształtów w Papervision3d. W efekcie otrzymamy obiekty nie pokryte żadnymi teksturami. O tym następnym razem. Dziś chciałem tylko pokazać jak prosto można uzyskać proste obiekty w 3D. Przed przystąpieniem do pracy upewnij się, że środowisko PV3D jest poprawnie zainstalowane (katalog &#8220;org&#8221; z paczki instalacyjnej musi się  znajdować w tym samym katalogu, co wynikowy SWF). Tradycyjnie poniżej pełny kod potrzebny do wykonania tego tutoriala:</p>
<p style="text-align: left;">

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.cameras.Camera3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.<span style="color: #004993;">render</span>.BasicRenderEngine;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.<span style="color: #004993;">scenes</span>.Scene3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.view.Viewport3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.objects.DisplayObject3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.objects.primitives.<span style="color: #000000; font-weight: bold;">*</span>;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.core.proto.MaterialObject3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.materials.utils.MaterialsList;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.materials.WireframeMaterial;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> viewport<span style="color: #000000; font-weight: bold;">:</span>Viewport3D = <span style="color: #0033ff; font-weight: bold;">new</span> Viewport3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> scene<span style="color: #000000; font-weight: bold;">:</span>Scene3D = <span style="color: #0033ff; font-weight: bold;">new</span> Scene3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> camera<span style="color: #000000; font-weight: bold;">:</span>Camera3D = <span style="color: #0033ff; font-weight: bold;">new</span> Camera3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">render</span><span style="color: #000000; font-weight: bold;">:</span>BasicRenderEngine = <span style="color: #0033ff; font-weight: bold;">new</span> BasicRenderEngine<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>viewport<span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> objectMaterial<span style="color: #000000; font-weight: bold;">:</span>MaterialObject3D = <span style="color: #0033ff; font-weight: bold;">null</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> frontMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> backMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> leftMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> rightMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> topMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> bottomMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> materialsList<span style="color: #000000; font-weight: bold;">:</span>MaterialsList = <span style="color: #0033ff; font-weight: bold;">new</span> MaterialsList<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>frontMaterial, <span style="color: #990000;">&quot;front&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>backMaterial, <span style="color: #990000;">&quot;back&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>leftMaterial, <span style="color: #990000;">&quot;left&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>rightMaterial, <span style="color: #990000;">&quot;right&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>topMaterial, <span style="color: #990000;">&quot;top&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>bottomMaterial, <span style="color: #990000;">&quot;bottom&quot;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> myCube<span style="color: #000000; font-weight: bold;">:</span>Cube = <span style="color: #0033ff; font-weight: bold;">new</span> Cube<span style="color: #000000;">&#40;</span>materialsList, <span style="color: #000000; font-weight:bold;">300</span>, <span style="color: #000000; font-weight:bold;">500</span>, <span style="color: #000000; font-weight:bold;">700</span>, <span style="color: #000000; font-weight:bold;">2</span>, <span style="color: #000000; font-weight:bold;">3</span>, <span style="color: #000000; font-weight:bold;">8</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myCube<span style="color: #000000;">&#41;</span>;
myCube.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight:bold;">700</span>;
myCube.z = <span style="color: #000000; font-weight:bold;">1000</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> mySphere<span style="color: #000000; font-weight: bold;">:</span>Sphere = <span style="color: #0033ff; font-weight: bold;">new</span> Sphere<span style="color: #000000;">&#40;</span>objectMaterial, <span style="color: #000000; font-weight:bold;">200</span>, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">50</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>mySphere<span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> myCone<span style="color: #000000; font-weight: bold;">:</span>Cone = <span style="color: #0033ff; font-weight: bold;">new</span> Cone<span style="color: #000000;">&#40;</span>objectMaterial, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">20</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myCone<span style="color: #000000;">&#41;</span>;
myCone.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">400</span>;
myCone.z = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">400</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> myCylinder<span style="color: #000000; font-weight: bold;">:</span>Cylinder = <span style="color: #0033ff; font-weight: bold;">new</span> Cylinder<span style="color: #000000;">&#40;</span>objectMaterial, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">100</span>, <span style="color: #000000; font-weight:bold;">20</span>, <span style="color: #000000; font-weight:bold;">20</span>, <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myCylinder<span style="color: #000000;">&#41;</span>;
myCylinder.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">150</span>;
myCylinder.z = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">600</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> myPlane<span style="color: #000000; font-weight: bold;">:</span>Plane = <span style="color: #0033ff; font-weight: bold;">new</span> Plane<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myPlane<span style="color: #000000;">&#41;</span>;
myPlane.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">300</span>;
myPlane.z = <span style="color: #000000; font-weight:bold;">1400</span>;
myPlane.<span style="color: #004993;">y</span> = <span style="color: #000000; font-weight:bold;">800</span>;
&nbsp;
<span style="color: #004993;">render</span>.renderScene<span style="color: #000000;">&#40;</span>scene, camera, viewport<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left;">Finalny efekt możesz uzyskać wklejając kod do pierwszej klatki w filmie o domyślnych rozmiarach. W rezultacie powinieneś otrzymać rozłożone na scenie następujące obiekty: płaszczyznę, stożek, cylinder, kulę i prostopadłościan.</p>
<p style="text-align: left;">
<p style="text-align: center;"><object width="550" height="400" data="http://flexibility.pl/wp-content/uploads/2009/05/simpleObjects.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="src" value="http://flexibility.pl/wp-content/uploads/2009/05/simpleObjects.swf" /></object>
</p>
<p style="text-align: left;">
<p style="text-align: left; margin: 10px 0px;">W powyższym kodzie jest kilka linii odpowiedzialnych za rozmieszczanie obiektów na trójwymiarowej scenie. Gdyby ich nie było wszystkie obiekty znalazłyby się na środku filmu. Zauważyłeś coś niezwykłego  <img src='http://flexibility.pl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ? W przypadku Papervision3D punkt o współrzędnych x i y równych 0 znajduje się na środku filmu, a nie w lewym górnym rogu, jak ma to miejsce w tradycyjnej flashce. W przypadku izometrii podajemy jeszcze jedną współrzędną &#8211; z. O ile x i y mają domyślnie wartości 0, to z ma wartość -1000. Jest to nic innego jak odległość od kamery (czyli Camera3D). Powyższe wartości domyślne &#8220;umieszczają&#8221;  obiekt na środku sceny (czyli Scene3D). Jeśli ustawisz współrzędną z na 10, oznacza to, że obiekt będzie się znajdował o 10 punktów dalej od kamery ze środka sceny.</p>
<p style="text-align: left; margin: 10px 0px;">Zacznijmy od zaimportowania potrzebnych klas:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.cameras.Camera3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.<span style="color: #004993;">render</span>.BasicRenderEngine;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.<span style="color: #004993;">scenes</span>.Scene3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.view.Viewport3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.objects.DisplayObject3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.objects.primitives.<span style="color: #000000; font-weight: bold;">*</span>;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.core.proto.MaterialObject3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.materials.utils.MaterialsList;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.materials.WireframeMaterial;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Do działania Papervision3D bezwzględnie wymaga klas:</p>
<ul>
<li>Scene3D</li>
<li>Viewport3D</li>
<li>Camera3D</li>
<li>BasicRenderEngine</li>
</ul>
<p style="text-align: left; margin: 10px 0px;">Scene3D tworzy naszą scenę, w której będziemy tworzyć obiekty. Camera3D inicjuje kamerę, czyli jakby nasze &#8220;oczy&#8221;. Viewport3D można rozumieć jako pośrednika między kamerą a obiektami na scenie. Ogranicza to co widzisz na zasadzie okna. Posiada takie parametry jak wysokość i szerokość, także można zmieniać zasięg widoczności na scenie. BasicRenderEngine to klasa renderująca utworzone obiekty. Gdy utworzysz już jakieś obiekty, określisz materiały, jakie je pokrywają, zdefiniujesz sposób ich animowania, wówczas możesz je renderować właśnie przy pomocy tej klasy (a dokładnie metody renderScene).</p>
<p style="text-align: left; margin: 10px 0px;">Kolejne linie kodu tworzą jakby &#8220;środowisko Papervision3d&#8221;.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> viewport<span style="color: #000000; font-weight: bold;">:</span>Viewport3D = <span style="color: #0033ff; font-weight: bold;">new</span> Viewport3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> scene<span style="color: #000000; font-weight: bold;">:</span>Scene3D = <span style="color: #0033ff; font-weight: bold;">new</span> Scene3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> camera<span style="color: #000000; font-weight: bold;">:</span>Camera3D = <span style="color: #0033ff; font-weight: bold;">new</span> Camera3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">render</span><span style="color: #000000; font-weight: bold;">:</span>BasicRenderEngine = <span style="color: #0033ff; font-weight: bold;">new</span> BasicRenderEngine<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>viewport<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Następnie tworzymy obiekt przechowujący materiały dla tworzonych przez nas obiektów:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> objectMaterial<span style="color: #000000; font-weight: bold;">:</span>MaterialObject3D = <span style="color: #0033ff; font-weight: bold;">null</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Tyle tytułem wstępu. Przejdźmy do tworzenia trójwymiarowych obiektów.</p>
<p style="margin: 10px 0px; text-align: left;"><span style="color: #ff0000;"><span style="font-size: medium;">1. Plane</span></span></p>
<p style="margin: 10px 0px; text-align: left;"><span style="font-size: medium;"><span style="font-size: small;">Plane (czyli płaszczyzna) jest najprostszym obiektem, jaki możesz utworzyć w Papervision3D (i w grafice trójwymiarowej w ogóle), co nie oznacza, że jest najmniej przydatny. Najprostszą płaszczyznę tworzymy wpisując następujący kod:</span></span></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> myPlane<span style="color: #000000; font-weight: bold;">:</span>Plane = <span style="color: #0033ff; font-weight: bold;">new</span> Plane<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myPlane<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Powyższy kod tworzy najprostszą płaszczyznę przypominającą 2 trójkąty prostokątne połączone przeciwprostokątnymi. Utworzony obiekt wstawiam na scenę w drugiej linii kodu. Podobnie musimy postępować z pozostałymi obiektami. Więcej wiadomości o klasie Plane dowiesz się pod <a href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/primitives/Plane.html" target="_blank">tym</a> linkiem.</p>
<p style="text-align: left; margin: 10px 0px;"><span style="color: #ff0000; font-size: medium;">2. Cube</span></p>
<p style="text-align: left; margin: 10px 0px;">W tym przypadku cube oznacza również ogólnie prostopadłościan.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> frontMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> backMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> leftMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> rightMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> topMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> bottomMaterial<span style="color: #000000; font-weight: bold;">:</span>WireframeMaterial = <span style="color: #0033ff; font-weight: bold;">new</span> WireframeMaterial<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> materialsList<span style="color: #000000; font-weight: bold;">:</span>MaterialsList = <span style="color: #0033ff; font-weight: bold;">new</span> MaterialsList<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>frontMaterial, <span style="color: #990000;">&quot;front&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>backMaterial, <span style="color: #990000;">&quot;back&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>leftMaterial, <span style="color: #990000;">&quot;left&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>rightMaterial, <span style="color: #990000;">&quot;right&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>topMaterial, <span style="color: #990000;">&quot;top&quot;</span><span style="color: #000000;">&#41;</span>;
materialsList.addMaterial<span style="color: #000000;">&#40;</span>bottomMaterial, <span style="color: #990000;">&quot;bottom&quot;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> myCube<span style="color: #000000; font-weight: bold;">:</span>Cube = <span style="color: #0033ff; font-weight: bold;">new</span> Cube<span style="color: #000000;">&#40;</span>materialsList, <span style="color: #000000; font-weight:bold;">300</span>, <span style="color: #000000; font-weight:bold;">500</span>, <span style="color: #000000; font-weight:bold;">700</span>, <span style="color: #000000; font-weight:bold;">2</span>, <span style="color: #000000; font-weight:bold;">3</span>, <span style="color: #000000; font-weight:bold;">8</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myCube<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Do utworzenia prostopadłościanu potrzebujemy listy materiałów (MaterlialsList). Pierwsze 6 zmiennych tworzy nowe egzemplarze klasy WireframeMaterial dla poszczególnych ścian. Następnie tworzony jest egzemplarz klasy MaterialsList do którego w kolejnych sześciu liniach dodawane są kolejne materiały. Zmienna myCube tworzy nowy prostopadłościan. Kolejne parametry to:</p>
<ul>
<li>lista materiałów</li>
<li>szerokość</li>
<li>głębokość</li>
<li>wysokość</li>
<li>ilość segmentów na szerokość</li>
<li>ilość segmentów na głębokość</li>
<li>ilość segmentów na wysokość</li>
<li>ściany wewnętrzne (ściany widoczne od środka)</li>
<li>ściany wykluczone (ściany, które nie będą utworzone)</li>
</ul>
<p style="text-align: left; margin: 10px 0px;">Więcej informacji o prostopadłościanach możesz przeczytać pod <a href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/primitives/Cube.html" target="_blank">tym</a> linkiem.</p>
<p style="text-align: left; margin: 10px 0px;"><span style="color: #ff0000; font-size: medium;">3. Cylinder</span></p>
<p style="text-align: left; margin: 10px 0px;">Cylinder tworzymy przy pomocy następującego kodu:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> myCylinder<span style="color: #000000; font-weight: bold;">:</span>Cylinder = <span style="color: #0033ff; font-weight: bold;">new</span> Cylinder<span style="color: #000000;">&#40;</span>objectMaterial, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">100</span>, <span style="color: #000000; font-weight:bold;">20</span>, <span style="color: #000000; font-weight:bold;">20</span>, <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myCylinder<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Poszczególne parametry zainicjowanej klasy Cylinder to:</p>
<ul>
<li> materiał</li>
<li> promień</li>
<li> wysokość</li>
<li> liczba segmentów pionowo</li>
<li> liczba segmentów poziomo</li>
<li> promień u góry cylindra</li>
<li> parametr wskazujący czy górna ściana cylindra ma zostać utworzona</li>
<li> parametr wskazujący czy dolna ściana cylindra ma zostać utworzona</li>
</ul>
<p style="text-align: left; margin: 10px 0px;">Więcej informacji o klasie Cylinder dowiesz się pod <a href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/primitives/Cylinder.html" target="_blank">tym</a> adresem.</p>
<p style="text-align: left; margin: 10px 0px;"><span style="color: #ff0000; font-size: medium;">4. Cone</span></p>
<p style="text-align: left; margin: 10px 0px;">Stożek tworzymy podobnie do cylindra:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> myCone<span style="color: #000000; font-weight: bold;">:</span>Cone = <span style="color: #0033ff; font-weight: bold;">new</span> Cone<span style="color: #000000;">&#40;</span>objectMaterial, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">20</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myCone<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Przykładowe parametry podawane przy tworzeniu egzemplarza klasy Cone to kolejno:</p>
<ul>
<li>materiał</li>
<li>promień</li>
<li>wysokość</li>
<li>ilość segmentów w pionie</li>
<li>ilość segmentów w poziomie</li>
</ul>
<p style="text-align: left; margin: 10px 0px;">Więcej o klasie Cone dowiesz się pod <a href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/primitives/Cone.html" target="_blank">tym</a> linkiem.</p>
<p style="text-align: left; margin: 10px 0px;"><span style="color: #ff0000; font-size: medium;">5. Sphere</span></p>
<p style="text-align: left; margin: 10px 0px;">Kulę tworzy następujący kod:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> sphere<span style="color: #000000; font-weight: bold;">:</span>Sphere = <span style="color: #0033ff; font-weight: bold;">new</span> Sphere<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
scene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>sphere<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left; margin: 10px 0px;">Powyższy kod tworzy kulę z domyślnymi parametrami. Można je ustawić podobnie jak w przypadku pozostałych obiektów tutaj opisywanych. Poszczególne parametry dla tworzenia egzemplarza klasy Sphere to:</p>
<ul>
<li>materiał</li>
<li>promień</li>
<li>ilość segmentów w pionie</li>
<li>ilość segmentów w poziomie</li>
</ul>
<p style="text-align: left; margin: 10px 0px;">Więcej o klasie Sphere dowiesz się pod <a href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/primitives/Sphere.html" target="_blank">tym</a> linkiem.</p>
<p style="text-align: left; margin: 10px 0px;">Gdy na scenie utworzyłeś już wszystkie obiekty, wówczas możesz je renderować dodając w ostatniej linii następujący kod:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #004993;">render</span>.renderScene<span style="color: #000000;">&#40;</span>scene, camera, viewport<span style="color: #000000;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/05/29/papervision3d-wstep-prymitywne-ksztalty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalacja Papervision3d</title>
		<link>http://flexibility.pl/2009/05/12/instalacja-papervision3d/</link>
		<comments>http://flexibility.pl/2009/05/12/instalacja-papervision3d/#comments</comments>
		<pubDate>Tue, 12 May 2009 10:53:02 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Papervision3d]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=322</guid>
		<description><![CDATA[Papervision3d to najpopularniejszy Flashowy silnik do tworzenia animacji 3d i chyba nikomu lepiej zorientowanemu nie trzeba go szczególnie przedstawiać. Oczywiście są też inne, jak Sandy3d, Away3d, czy Alternativa3d, jednakże w przypadku Papervision3d możemy liczyć na wsparcie techniczne ze strony dużej ilości programistów piszących aplikacje właśnie przy jego użyciu. Tutorial dotyczy jedynie instalacji PV3d. Po właściwej instalacji sprawdzimy czy działa umieszczając w pliku .fla przykładowy kod.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left; margin-bottom: 10px;">Papervision3d to najpopularniejszy Flashowy silnik do tworzenia animacji 3d i chyba nikomu lepiej zorientowanemu nie trzeba go szczególnie przedstawiać. Oczywiście są też inne, jak Sandy3d, Away3d, czy Alternativa3d, jednakże w przypadku Papervision3d możemy liczyć na wsparcie techniczne ze strony dużej liczby programistów piszących aplikacje właśnie przy jego użyciu. Tutorial dotyczy jedynie instalacji PV3d. Po właściwej instalacji sprawdzimy czy działa umieszczając w pliku .fla przykładowy kod.</p>
<p style="text-align: left;">
<p style="text-align: left; margin-bottom: 10px;">Na początku przydałaby się sama biblioteka. W tym celu odwiedzamy stronę <a href="http://code.google.com/p/papervision3d/" target="_blank">http://code.google.com/p/papervision3d</a>. Po prawej stronie w boxie <strong>&#8220;Featured downloads&#8221;</strong> znajdują sie linki do 2 plików (swc i zip). Nas interesuje ten drugi. W archiwum znajduje się katalog <strong>&#8220;org&#8221;</strong> i tylko on będzie nam potrzebny.</p>
<p style="text-align: left;">
<p style="text-align: left; margin-bottom: 10px;">Utwórz teraz nowy plik Flash (AS3). Musi się on znajdować w tym samym katalogu, co &#8220;org&#8221;. W pierwszej klatce dodaj następujący kod:</p>
<p style="text-align: left;">

<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
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.cameras.Camera3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.<span style="color: #004993;">render</span>.BasicRenderEngine;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.<span style="color: #004993;">scenes</span>.Scene3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.view.Viewport3D;
<span style="color: #0033ff; font-weight: bold;">import</span> org.papervision3d.objects.primitives.Plane;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> myViewport<span style="color: #000000; font-weight: bold;">:</span>Viewport3D = <span style="color: #0033ff; font-weight: bold;">new</span> Viewport3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> myScene<span style="color: #000000; font-weight: bold;">:</span>Scene3D = <span style="color: #0033ff; font-weight: bold;">new</span> Scene3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> myCamera<span style="color: #000000; font-weight: bold;">:</span>Camera3D = <span style="color: #0033ff; font-weight: bold;">new</span> Camera3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> myRenderer<span style="color: #000000; font-weight: bold;">:</span>BasicRenderEngine = <span style="color: #0033ff; font-weight: bold;">new</span> BasicRenderEngine<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #6699cc; font-weight: bold;">var</span> myPlane<span style="color: #000000; font-weight: bold;">:</span>Plane = <span style="color: #0033ff; font-weight: bold;">new</span> Plane<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myViewport<span style="color: #000000;">&#41;</span>;
myScene.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>myPlane<span style="color: #000000;">&#41;</span>;
myRenderer.renderScene<span style="color: #000000;">&#40;</span>myScene, myCamera, myViewport<span style="color: #000000;">&#41;</span>;</pre></td></tr></table></div>

<p>Po naciśnięciu Ctrl + Enter wynik powinien być taki jak poniżej:</p>
<p><img class="size-full wp-image-337 alignleft" title="Papervision3d - instalacja" src="http://flexibility.pl/wp-content/uploads/2009/05/pv3dinstall.gif" alt="Papervision3d - instalacja" width="700" height="250" /></p>
<p style="text-align: left;  margin-bottom: 10px;">Wkrótce postaram się napisać o kształtach i pokrywaniu ich materiałami.</p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/05/12/instalacja-papervision3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wczytywanie pliku XML we Flashu</title>
		<link>http://flexibility.pl/2009/03/04/wczytywanie-pliku-xml-we-flashu/</link>
		<comments>http://flexibility.pl/2009/03/04/wczytywanie-pliku-xml-we-flashu/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 13:03:31 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=272</guid>
		<description><![CDATA[W tym tutorialu pokażę jak wczytać i poruszać sie po pliku XML w ActionScript 3.0. O potędze XML-a chyba nie muszę nikogo specjalnie przekonywać. Ma zastosowanie przy wczytywaniu jakiejkolwiek dynamicznej treści nie tylko w środowisku Flasha. Służy również do budowy całych stron WWW. Znajomość zagadnień związanych z obsługą XML we Flashu jest pomocna przy budowie galerii, odtwarzaczy, czy CMS-ów.]]></description>
			<content:encoded><![CDATA[<p>W tym tutorialu pokażę jak wczytać i poruszać sie po pliku XML w ActionScript 3.0. O potędze XML-a chyba nie muszę nikogo specjalnie przekonywać. Ma zastosowanie przy wczytywaniu jakiejkolwiek dynamicznej treści nie tylko w środowisku Flasha. Służy również do budowy całych stron WWW. Znajomość zagadnień związanych z obsługą XML we Flashu jest pomocna przy budowie galerii, odtwarzaczy, czy CMS-ów.</p>
<p>Na początku utwórz plik XML z następującą zawartością:</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
22
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;">&lt; ?xml <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;images</span> <span style="color: #000066;">wname</span>=<span style="color: #ff0000;">&quot;banner.jpg&quot;</span> <span style="color: #000066;">wwidth</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">wheight</span>=<span style="color: #ff0000;">&quot;107&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;14&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;gwozdz&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 2&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;hala&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;650&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;268&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 3&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;houseslandscape&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;850&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;562&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 4&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;khamlandscape&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;850&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;562&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 5&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kwiat1&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 6&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kwiat2&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;650&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;410&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 7&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kwiat3&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 8&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kwiat4&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 9&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;mlecz&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;650&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;433&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 10&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;moviehouse&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;850&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;562&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 11&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;pejzaz1&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;850&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;562&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 12&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;rece&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;700&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 13&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;0203042L&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 14&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;0203069L&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 15&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;0211022L&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 16&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;0281011L&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 17&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;0281021L&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 18&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;0281025L&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;399&quot;</span> <span style="color: #000066;">desc</span>=<span style="color: #ff0000;">&quot;Obrazek 19&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/images<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Plk XML musi się znajdować w tym samym katalogu, co plik SWF. Poniżej znajduje się cały kod ActionScript, który opiszę później.</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
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> myXMLLoader<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">URLLoader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLLoader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
myXMLLoader.<span style="color: #004993;">load</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;example.xml&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;
myXMLLoader.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span>.<span style="color: #004993;">COMPLETE</span>, getXMLData<span style="color: #000000;">&#41;</span>;
<span style="color: #339966; font-weight: bold;">function</span> getXMLData<span style="color: #000000;">&#40;</span>myEvent<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> myXML<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">XML</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">XML</span><span style="color: #000000;">&#40;</span>myEvent.<span style="color: #004993;">target</span>.<span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span>;
	galeria_mc.imgContainer_mc.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>imageLoader<span style="color: #000000;">&#41;</span>;
	imagesCount = myXML.image.<span style="color: #004993;">length</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">-</span> <span style="color: #000000; font-weight:bold;">1</span>;
	<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #000000; font-weight:bold;">0</span>; i <span style="color: #000000; font-weight: bold;">&lt;</span> = myXML.image.<span style="color: #004993;">length</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">-</span> <span style="color: #000000; font-weight:bold;">1</span>; i<span style="color: #000000; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
		<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>myXML.image.@<span style="color: #004993;">name</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>;
		<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>imageWidth<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> = myXML.image.@<span style="color: #004993;">width</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>;
		<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>imageHeight<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> = myXML.image.@<span style="color: #004993;">height</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>;
		<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>imageDesc<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> = myXML.image.@desc<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Pierwsza linia tworzy nowy obiekt URLLoader. następnie za pomocą metody load obiekt wczytuje plik example.xml.</p>
</pre>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> myXMLLoader<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">URLLoader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLLoader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
myXMLLoader.<span style="color: #004993;">load</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;example.xml&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;</pre></td></tr></table></div>

<p>Następnie tworzymy obiekt nasłuchujący, który uruchamia funkcję getXMLData, gdy tylko plik zostanie załadowany w całości.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">myXMLLoader.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span>.<span style="color: #004993;">COMPLETE</span>, getXMLData<span style="color: #000000;">&#41;</span>;</pre></div></div>

<p>Pierwsza linia funkcji getXMLData tworzy nowy egzemplarz klasy XML. Dzięki użyciu parametru myEvent.target.data dane z pliku XML są przypisywane do egzemplarza klasy XML.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> myXML<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">XML</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">XML</span><span style="color: #000000;">&#40;</span>myEvent.<span style="color: #004993;">target</span>.<span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

<p>Przyjrzyjmy się teraz linii</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">imagesCount = myXML.image.<span style="color: #004993;">length</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">-</span> <span style="color: #000000; font-weight:bold;">1</span>;</pre></div></div>

<p>Image nie jest tutaj właściwością, a nazwą tagu XML. Oznacza to, że odwołanie się do konkretnych tagów odbywa się tak samo jak w przypadku pisania ścieżek do plików filmowych. Natomiast samo myXML jest odwołaniem się do tagu images przykładowego pliku XML czyli tagu o najwyższym poziomie w hierarchii pliku. Metoda length zlicza wszystkie wystąpienia tagu image w obrębie tagu images.</p>
<p>Pętla </p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #000000; font-weight:bold;">0</span>; i <span style="color: #000000; font-weight: bold;">&lt;</span> = myXML.image.<span style="color: #004993;">length</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">-</span> <span style="color: #000000; font-weight:bold;">1</span>; i<span style="color: #000000; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>myXML.image.@<span style="color: #004993;">name</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #990000;">&quot; | &quot;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>myXML.image.@<span style="color: #004993;">width</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #990000;">&quot; | &quot;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>myXML.image.@<span style="color: #004993;">height</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #990000;">&quot; | &quot;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>myXML.image.@desc<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #990000;">&quot; | &quot;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>pobiera każdy atrybut z każdego tagu image i wyświetla jego zawartość w panelu "output". Jak widać dostęp do atrybutów tagów otrzymujemy poprzedzając nazwę atrybutu znakiem "@". Dostęp do konkretnego tagu i jego atrybutów jest analogiczny jak w przypadku tablic, stąd [i] po każdym odniesieniu do atrybutu w pętli.</p>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/03/04/wczytywanie-pliku-xml-we-flashu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ładowanie zewnętrznych obrazów za pomocą AS3</title>
		<link>http://flexibility.pl/2009/03/03/ladowanie-zewnetrznych-obrazow-za-pomoca-actionscript-30/</link>
		<comments>http://flexibility.pl/2009/03/03/ladowanie-zewnetrznych-obrazow-za-pomoca-actionscript-30/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 22:47:50 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[loader]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=251</guid>
		<description><![CDATA[Przedstawię tutaj sposób na ładowanie zewnętrznych obrazów za pomocą kodu ActionScript 3.0. Do pełnego działania filmu potrzebujemy przykładowe zdjęcie (żeby było łatwiej niech będzie to obraz o takich samych wymiarach co scena). W pliku FLA potrzebny będzie kontener na obraz i pole tekstowe, czyli preloader.]]></description>
			<content:encoded><![CDATA[<p>Przedstawię tutaj sposób na ładowanie zewnętrznych obrazów za pomocą kodu ActionScript 3.0. Do pełnego działania filmu potrzebujemy przykładowe zdjęcie (żeby było łatwiej niech będzie to obraz o takich samych wymiarach co scena). W pliku FLA potrzebny będzie kontener na obraz i pole tekstowe, czyli preloader. Poniżej znajduje się rezultat i całość potrzebnego kodu.</p>
<p><object width="400" height="300" data="http://flexibility.pl/wp-content/uploads/2009/03/ladowanie_obrazow_as3/ladowanie_obrazu_as3.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="src" value="http://flexibility.pl/wp-content/uploads/2009/03/ladowanie_obrazow_as3/ladowanie_obrazu_as3.swf" /><param name="bgcolor" value="#000000" /></object></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;"><span style="color: #6699cc; font-weight: bold;">var</span> imageLoader<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Loader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Loader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
imageLoader.<span style="color: #004993;">load</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;pic.jpg&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> preloadProgress<span style="color: #000000;">&#40;</span>myEvent<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">ProgressEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> loaded<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #000000;">&#40;</span>myEvent.<span style="color: #004993;">bytesLoaded</span> <span style="color: #000000; font-weight: bold;">/</span> myEvent.<span style="color: #004993;">bytesTotal</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight:bold;">100</span>;
	container_mc.percentLoaded_txt.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">true</span>;
	container_mc.percentLoaded_txt.<span style="color: #004993;">text</span> = loaded <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #990000;">&quot;%&quot;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #339966; font-weight: bold;">function</span> preloadComplete<span style="color: #000000;">&#40;</span>myEvent<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	container_mc.percentLoaded_txt.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">false</span>;
	container_mc.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>imageLoader<span style="color: #000000;">&#41;</span>;
	imageLoader.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">stage</span>.<span style="color: #004993;">stageWidth</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span>;
	imageLoader.<span style="color: #004993;">y</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">stage</span>.<span style="color: #004993;">stageHeight</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
imageLoader.<span style="color: #004993;">contentLoaderInfo</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">ProgressEvent</span>.<span style="color: #004993;">PROGRESS</span>, preloadProgress<span style="color: #000000;">&#41;</span>;
imageLoader.<span style="color: #004993;">contentLoaderInfo</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span>.<span style="color: #004993;">COMPLETE</span>, preloadComplete<span style="color: #000000;">&#41;</span>;</pre></td></tr></table></div>

<p>W nowym pliku Flasha (scena w przykładzie ma rozmiar 400&#215;300, ale oczywiście może on być dowolny) utwórz dwie warstwy. Dolną nazwij &#8220;container&#8221; a górną &#8220;as&#8221;.</p>
<p style="text-align: left;"><img class="aligncenter" src="http://flexibility.pl/wp-content/uploads/2009/03/ladowanie_obrazow_as3/steps1.jpg" alt="Ładowanie zewnętrznych obrazów za pomocą ActionScript 3.0" width="453" height="146" /></p>
<p style="text-align: left;">Utwórz teraz nowy klip filmowy i przeciągnij go na scenę do warstwy &#8220;container&#8221;. Instancji klipu nadaj nazwę &#8220;container_mc&#8221;.</p>
<p style="text-align: left;">Otwórz klip filmowy i na środku utwórz pole tekstowe o dowolnych właściwościach tekstu. Nadaj jego instancji nazwę &#8220;percentLoaded_txt&#8221;.</p>
<p style="text-align: left;">Przejdź teraz do warstwy &#8220;as&#8221;. Otwórz panel akcji (F9) i wpisz poniższy kod:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> imageLoader<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Loader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Loader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left;">W ten sposób tworzysz nowy egzemplarz klasy Loader. Obiekt imageLoader będzie przetrzymywał załadowany obraz.</p>
<p style="text-align: left;">Wpisz teraz</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">imageLoader.<span style="color: #004993;">load</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;pic.jpg&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

<p style="text-align: left;">Powyższy kod ładuje za pomocą metody load zewnętrzny obraz. Do pobierania zewnętrznej zawartości konieczne jest utworzenie nowego obiektu URLLoader, którego parametrem będzie ścieżka do pliku, który chcemy załadować.</p>
<p>
Do działania preloadera potrzebna jest obsługa dwóch zdarzeń:<br />
- ProgressEvent.PROGRESS,<br />
- Event.COMPLETE.
</p>
<p>Zajmijmy się teraz obsługą pierwszego z wymienionych.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #339966; font-weight: bold;">function</span> preloadProgress<span style="color: #000000;">&#40;</span>myEvent<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">ProgressEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> loaded<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #000000;">&#40;</span>myEvent.<span style="color: #004993;">bytesLoaded</span> <span style="color: #000000; font-weight: bold;">/</span> myEvent.<span style="color: #004993;">bytesTotal</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight:bold;">100</span>;
	container_mc.percentLoaded_txt.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">true</span>;
	container_mc.percentLoaded_txt.<span style="color: #004993;">text</span> = loaded <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #990000;">&quot;%&quot;</span>;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Powyższa funkcja jako parametr ma przekazane zdarzenie ładowania zawartości (ProgressEvent).<br />
Zmienna loaded jest liczbą całkowitą ponieważ będzie przedstawiać procent załadowanych bajtów. W tym celu trzeba podzielić liczbę bajtów już załadowanych do całkowitej wielkości wczytywanego pliku (myEvent.bytesLoaded / myEvent.bytesTotal) i otrzymany ułamek pomnożyć przez 100.</p>
<p>Właściwość visible dla pola tekstowego ustaw na true, żeby pole tekstowe z procentami było widoczne. Za pomocą właściwości text przypisz wyjściową zawartość do pola tekstowego, czyli załadowany procent danych i znak &#8220;%&#8221;.</p>
<p></p>
<p>Przejdźmy teraz do funkcji reagującej na zdarzenie ukończenia pobierania zewnętrznego pliku</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #339966; font-weight: bold;">function</span> preloadComplete<span style="color: #000000;">&#40;</span>myEvent<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	container_mc.percentLoaded_txt.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">false</span>;
	container_mc.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>imageLoader<span style="color: #000000;">&#41;</span>;
	imageLoader.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">stage</span>.<span style="color: #004993;">stageWidth</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span>;
	imageLoader.<span style="color: #004993;">y</span> = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">stage</span>.<span style="color: #004993;">stageHeight</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Pierwsza linia funkcji ukrywa pole tekstowe ustawiając właściwość visible na false. W kolejnej linii przy pomocy metody addChild do klipu filmowego przechowującego załadowaną zawartość dodawany jest załadowany obrazek.</p>
<p>Ostatnie dwie linie ustawiają obraz na środku sceny. Pamiętaj że ten kod zadziała tylko wtedy, gdy masz obraz o takich samych wymiarach jak scena. W przypadku innych wymiarów należy inaczej zdefiniować własności x i y.</p>
<p>Ostatnie dwie linie odbierają dwa omówione wyżej zdarzenia tworząc 2 obiekty nasłuchujące</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;">imageLoader.<span style="color: #004993;">contentLoaderInfo</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">ProgressEvent</span>.<span style="color: #004993;">PROGRESS</span>, preloadProgress<span style="color: #000000;">&#41;</span>;
imageLoader.<span style="color: #004993;">contentLoaderInfo</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span>.<span style="color: #004993;">COMPLETE</span>, preloadComplete<span style="color: #000000;">&#41;</span>;</pre></td></tr></table></div>

<p>Do obiektu Loader dodajemy obiekty nasłuchujące dwa poszczególne zdarzenia ProgressEvent.PROGRESS i Event.COMPLETE, które obsługiwane są przez odpowiednie funkcje preloadProgress oraz preloadComplete</p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/03/03/ladowanie-zewnetrznych-obrazow-za-pomoca-actionscript-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efekt pisanego tekstu we Flashu</title>
		<link>http://flexibility.pl/2009/01/18/efekt-pisanego-tekstu-we-flashu/</link>
		<comments>http://flexibility.pl/2009/01/18/efekt-pisanego-tekstu-we-flashu/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 14:55:33 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[efekt]]></category>
		<category><![CDATA[maska]]></category>
		<category><![CDATA[tekst]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=144</guid>
		<description><![CDATA[W tutorialu przedstawiam sposób animowania tekstu we Flashu w taki sposób, jakby był pisany na ekranie w czasie rzeczywistym. Polega on na wymazywaniu kolejnych części napisu od tyłu.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">W tutorialu przedstawiam sposób animowania tekstu we Flashu w taki sposób, jakby był pisany na ekranie w czasie rzeczywistym. Polega on na wymazywaniu kolejnych części napisu od tyłu.</p>
<p style="text-align: left;">
<p style="text-align: left;"><span style="color: #ffffff;">1. Napisz coś na scenie. Dla oszczędności czasu niech to nie będzie długi napis  <img src='http://flexibility.pl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </span>. Pamiętaj, żeby ustawić tekst na statyczny.</p>
<p style="text-align: left;">
<p><img class="size-full wp-image-188" title="Efekt pisanego tekstu we Flashu" src="http://flexibility.pl/wp-content/uploads/2009/01/blog1.jpg" alt="Efekt pisanego tekstu we Flashu" width="159" height="56" /></p>
<p style="text-align: left;">2. Dwukrotnie naciśnij Ctrl+B (mając zaznaczony tekst) żeby najpierw rozdzielić napis na pojedyncze litery, a następnie przekonwertować go na wektory.</p>
<p style="text-align: left;">
<div class="mceTemp mceIEcenter"><img class="size-full wp-image-189" title="Efekt pisanego tekstu we Flashu" src="http://flexibility.pl/wp-content/uploads/2009/01/blog2.jpg" alt="Efekt pisanego tekstu we Flashu" width="150" height="43" /></div>
<p style="text-align: left;">3. W pierwszej klatce wymaż gumką niewielką część końca ostatniej litery napisu. przejdź do kolejnej klatki. Naciśnij F6 i wymarz kolejny kawałek litery. Niestety musisz tak postępować aż wymażesz cały napis.</p>
<p style="text-align: left;">
<p><img class="size-full wp-image-190" title="Efekt pisanego tekstu we Flashu" src="http://flexibility.pl/wp-content/uploads/2009/01/blog3.jpg" alt="Efekt pisanego tekstu we Flashu" width="373" height="130" /> <img class="size-full wp-image-191" title="Efekt pisanego tekstu we Flashu" src="http://flexibility.pl/wp-content/uploads/2009/01/blog5.jpg" alt="Efekt pisanego tekstu we Flashu" width="196" height="182" /></p>
<p style="text-align: left;">4. Zaznacz wszystkie klatki. Możesz to zrobić klikając na pierwszą a następnie z wciśniętym klawiszem Shift ostatnią. Kliknij na którejś z zaznaczonych klatek prawym przyciskiem myszy i wybierz polecenie <strong>Reverse Frames</strong>. Ponownie kliknij prawym przyciskiem myszy na którąkolwiek z zaznaczonych klatek i wybierz <strong>Shape Tween</strong>.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p><img class="size-full wp-image-192" title="Efekt pisanego tekstu we Flashu" src="http://flexibility.pl/wp-content/uploads/2009/01/blog6.jpg" alt="Efekt pisanego tekstu we Flashu" width="475" height="130" /></p>
<p style="text-align: left;">
<p style="text-align: left;">5. Przetestuj animację naciskając Ctrl + Enter.</p>
<p style="text-align: left;"><object width="200" height="120" data="http://flexibility.pl/wp-content/uploads/2009/01/flash.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="wmode" value="transparent" /><param name="src" value="http://flexibility.pl/wp-content/uploads/2009/01/flash.swf" /><param name="bgcolor" value="#000000" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2009/01/18/efekt-pisanego-tekstu-we-flashu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIV na 1px wysokości w IE</title>
		<link>http://flexibility.pl/2008/12/19/div-na-1px-wysokosci-w-ie/</link>
		<comments>http://flexibility.pl/2008/12/19/div-na-1px-wysokosci-w-ie/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 07:44:49 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[1px]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=171</guid>
		<description><![CDATA[Kolejna krótka piłka ;-) . Dla DIV-a ustawiamy następujący kod CSS:]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Kolejna krótka piłka  <img src='http://flexibility.pl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  . Dla DIV-a ustawiamy następujący kod CSS:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#mydiv</span> <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: left;">Otrzymujemy  w ten sposób DIV-a o wysokości 1px, który działa pod IE6.</p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2008/12/19/div-na-1px-wysokosci-w-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trójwymiarowy wzór siatki w Photoshopie</title>
		<link>http://flexibility.pl/2008/12/16/trojwymiarowy-wzor-siatki-w-photoshopie/</link>
		<comments>http://flexibility.pl/2008/12/16/trojwymiarowy-wzor-siatki-w-photoshopie/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 18:23:16 +0000</pubDate>
		<dc:creator>_R</dc:creator>
				<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[opcje mieszania]]></category>

		<guid isPermaLink="false">http://flexibility.pl/?p=138</guid>
		<description><![CDATA[Na początku musimy zdefiniować nasz wzorek. W tym celu otwórz nowy plik (Ctrl + N) i ustaw jego szerokość na 6 a wysokość na 5. Czarnym kolorem zamaluj wybrany obszar obrazka jak poniżej...]]></description>
			<content:encoded><![CDATA[<p>1. Na początku musimy zdefiniować nasz wzorek. W tym celu otwórz nowy plik (Ctrl + N) i ustaw jego szerokość na 6 a wysokość na 5. Czarnym kolorem zamaluj wybrany obszar obrazka jak poniżej.<br />
<img class="aligncenter size-full wp-image-148" src="http://flexibility.pl/wp-content/uploads/2008/12/flex_3.jpg" alt="" width="192" height="160" /></p>
<p>2. Następnie klikamy na Edit (Edytuj) a następnie Define pattern&#8230; (Zdefiniuj wzorek&#8230;). Nadajemy jakąkolwiek nazwę i klikamy OK.</p>
<p><img class="aligncenter size-full wp-image-149" title="flex_4" src="http://flexibility.pl/wp-content/uploads/2008/12/flex_4.jpg" alt="flex_4" width="343" height="509" /></p>
<p>3. Tworzymy nowy plik i rysujemy w nim jakiś kształt. Zaznaczamy warstwie (Ctrl + klik na warstwie w panelu Layers (Warstwy)).</p>
<p>4. Tworzymy nową warstwę i wybieramy wiadro z farbą. W opcjach narzędzia zmieniamy wypełnienie na wzór, po czym wybieramy ten, który przed chwilą utworzyliśmy.</p>
<p>5. Po wyborze klikamy wiadrem z farbą na nową warstwę. Tym sposobem wypełniamy uprzednio utworzony kształt wzorkiem.</p>
<p>6. Klikamy dwukrotnie na warstwie ze wzorkiem, aby przejść do opcji mieszania i ustawiamy opcje jak poniżej:</p>
<p><img class="aligncenter size-full wp-image-147" src="http://flexibility.pl/wp-content/uploads/2008/12/flex_2.jpg" alt="" width="500" height="370" /></p>
<p>7. Ustawiamy krycie na 75%. Powinniście otrzymać taki efekt (wzór jest nałożony na warstwę pokrytą gradientem):</p>
<p><img class="aligncenter size-full wp-image-146" src="http://flexibility.pl/wp-content/uploads/2008/12/flex_1.jpg" alt="" width="136" height="88" /></p>
]]></content:encoded>
			<wfw:commentRss>http://flexibility.pl/2008/12/16/trojwymiarowy-wzor-siatki-w-photoshopie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
