<?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>DesignerBlog &#187; ActionScript</title>
	<atom:link href="http://designerblog.pl/category/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://designerblog.pl</link>
	<description></description>
	<lastBuildDate>Mon, 26 Jul 2010 12:35:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Moja prezentacja o Usability z FlashCamp&#8217;a 2010</title>
		<link>http://designerblog.pl/moja-prezentacja-o-usability-z-flashcampa-2010/</link>
		<comments>http://designerblog.pl/moja-prezentacja-o-usability-z-flashcampa-2010/#comments</comments>
		<pubDate>Thu, 13 May 2010 11:43:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[eventy]]></category>
		<category><![CDATA[informacje]]></category>
		<category><![CDATA[tutoriale]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://designerblog.pl/?p=764</guid>
		<description><![CDATA[W czasie ostatniego weekendu ekipa BlackMoon&#8217;a była na FlashCamp&#8217;ie 2010 w Warszawie. Miałem na tej imprezie przyjemność poprowadzić prezentację &#8221;Usability w projektach Flex&#8221; (poniżej video z tej prezentacji i sama prezentacja do ściągnięcia). Ogólnie &#8211; poziom imprezy był ekstra, mnóstwo bardzo ciekawych prezentacji i kontaktów (już się nie mogę doczekać imprezy za rok). Jeżeli jesteście zainteresowani innymi prezentacjami [...]]]></description>
			<content:encoded><![CDATA[<p>W czasie ostatniego weekendu ekipa BlackMoon&#8217;a była na FlashCamp&#8217;ie 2010 w Warszawie. Miałem na tej imprezie przyjemność poprowadzić prezentację &#8221;Usability w projektach Flex&#8221; (poniżej video z tej prezentacji i sama prezentacja do ściągnięcia). Ogólnie &#8211; poziom imprezy był ekstra, mnóstwo bardzo ciekawych prezentacji i kontaktów (już się nie mogę doczekać imprezy za rok). Jeżeli jesteście zainteresowani innymi prezentacjami z tej imprezy &#8211; zapraszam na <a href="http://flashcamp.pl">http://flashcamp.pl</a></p>
<p><object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11677681&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11677681&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object>
<p><a href="http://vimeo.com/11677681">Usability w projektach Flex &#8211; prezentacja FlashCamp 2010 Warsaw</a> from <a href="http://vimeo.com/blackmoondev">Robert Podgórski</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><a href="http://blackmoondev.com/wp-content/uploads/2010/05/usability_w_projektach_Flex.pdf">Ściągnij .pdf file</a><br />
<a href="http://blackmoondev.com/wp-content/uploads/2010/05/usability_w_projektach_Flex.key"> Ściągnij  pliki Keynote</a></p>
]]></content:encoded>
			<wfw:commentRss>http://designerblog.pl/moja-prezentacja-o-usability-z-flashcampa-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tworzenie prostej aplikacjii AIR &#8211; Flash CS3</title>
		<link>http://designerblog.pl/tworzenie-prostej-aplikacjii-air-flash-cs3/</link>
		<comments>http://designerblog.pl/tworzenie-prostej-aplikacjii-air-flash-cs3/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 21:36:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[tutoriale]]></category>

		<guid isPermaLink="false">http://designerblog.pl/?p=107</guid>
		<description><![CDATA[Chciałem pokazać w tym tutorialu jak zrobić prostą aplikację AIR we Flashu. Konkretnie &#8211; będzie to kalkulator, z nastawieniem na kolorową i ciekawą oprawę graficzną &#8211; użyjemy trybu chrome okna (czyli okno będzie miało niestandardowy kształt). Głównym celem tego posta jest pokazanie jak tworzyć aplikacje z chrome&#8217;owanymi oknami oraz przechwytywać eventy z klawiatury i myszki. [...]]]></description>
			<content:encoded><![CDATA[<p>Chciałem pokazać w tym tutorialu jak zrobić prostą aplikację AIR we Flashu.</p>
<p><img src="http://blackmoondev.com/wp-content/uploads/2008/09/calc_screenshot.jpg" alt="bmd calc" title="calc_screenshot" width="382" height="472" class="alignnone size-full wp-image-269" style="border: 1px #dccfcd solid;padding: 5px" /></p>
<p>Konkretnie &#8211; będzie to kalkulator, z nastawieniem na kolorową i ciekawą oprawę graficzną &#8211; użyjemy trybu chrome okna (czyli okno będzie miało niestandardowy kształt).<br />
Głównym celem tego posta jest pokazanie jak tworzyć aplikacje z chrome&#8217;owanymi oknami oraz przechwytywać eventy z klawiatury i myszki.<br />
<span id="more-107"></span></p>
<h2>Projekt</h2>
<p>Możemy zaprojektować interface naszego widget&#8217;a od razu we Flashu lub zaimportować dowolny plik graficzny (np. z Photoshopa). W tym przypadku wszystkie elementy zostały narysowane bezpośrednio we Flashu. Tworzenie grafiki odbywa się dokładnie w ten sam sposób co &#8220;regularne&#8221; tworzenie Flashowych treści.<br />
(przy okazji &#8211; projekt kalkulatora jest rozpowszechniony zgodnie z licencją Creative Commons &#8211; można całość lub dowolne elementy wykorzystać w prywatnych i komercyjnych pracach &#8211; to samo dotyczy kodu).</p>
<h2>Klasa Calc</h2>
<p>Stworzymy klasę, która będzie odpowiadała za operacje kalkulatora.<br />
Jest to odrobinę strzelanie z armaty do wróbli:)<br />
Poniżej kod klasy:<br />
<code><br />
package{<br />
	public class Calc{<br />
		public static function sum(liczba1:Number,liczba2:Number):Number{<br />
			var wynik = liczba1 + liczba2;<br />
			return wynik;<br />
		}<br />
		public static function deduct(liczba1:Number,liczba2:Number):Number{<br />
			var wynik = liczba1 - liczba2;<br />
			return wynik;<br />
		}<br />
		public static function multiply(liczba1:Number,liczba2:Number):Number{<br />
			var wynik = liczba1 * liczba2;<br />
			return wynik;<br />
		}<br />
		public static function divide(liczba1:Number,liczba2:Number):Number{<br />
			var wynik = liczba1 / liczba2;<br />
			return wynik;<br />
		}<br />
	}<br />
}</code></p>
<h2>Kodowanie kalkulatora</h2>
<p>Poniżej omawiam kod kalkulatora (najciekawsze elementy). Pełen kod z komentarzami jest do ściągnięcia na koncu posta.<br />
<code><br />
import flash.desktop.NativeApplication;<br />
</code><br />
Tego potrzebujemy aby obsługiwać nasze chromowane okno.</p>
<p><code><br />
var myCalc:Calc = new Calc();<br />
</code><br />
Tworzymy nowy obiekt klasy Calc.</p>
<p><code><br />
function calculateResult()<br />
{<br />
	...<br />
}<br />
</code><br />
Funkcja wykorzystująca obiekt Calc i obliczająca rezultat.</p>
<p><code><br />
function removeTrailingZeros()<br />
{<br />
	...<br />
}<br />
</code><br />
Funkcja do usuwania zer na końcu wyniku.</p>
<p><code><br />
function calculatorInterface(action:String)<br />
{<br />
       ...<br />
}<br />
</code><br />
Interface kalkulatora &#8211; czyli akcje powiązane z odpowiednimi klawiszami.</p>
<p><code><br />
function reportKeyDown(event:KeyboardEvent):void<br />
{<br />
	trace(String.fromCharCode(event.charCode))<br />
        ...<br />
}<br />
stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);<br />
</code><br />
Listener&#8217;y dla eventów związanych z klawiaturą.<br />
Kiedy na klawiaturze zostaje naciśnięty klawisz &#8211; jego kod jest przekazany do funkcji interface&#8217;u.</p>
<p><code><br />
theCalc.moveButton.addEventListener(MouseEvent.MOUSE_DOWN, moveWindow);<br />
function moveWindow(event:MouseEvent):void {<br />
        //przesuwanie okna<br />
	stage.nativeWindow.startMove();<br />
}<br />
theCalc.calcCloseButton.buttonMode = true;<br />
theCalc.calcCloseButton.addEventListener(MouseEvent.MOUSE_DOWN, closeWindow)<br />
function closeWindow(event:MouseEvent):void {<br />
	//zamykanie okna<br />
	NativeApplication.nativeApplication.exit();<br />
}<br />
theCalc.minimizeButton.buttonMode = true;<br />
theCalc.minimizeButton.addEventListener(MouseEvent.CLICK, minimize_CLICK);<br />
function minimize_CLICK(event:MouseEvent):void<br />
{<br />
       //minimalizacja okna<br />
       stage.nativeWindow.minimize();<br />
}<br />
</code><br />
Kod odpowiedzialny za zamykanie, przesuwanie i minimalizację okna.<br />
Jako, że nasz widget ma chromowane okno &#8211; musimy te akcje dorobić sami. </p>
<h2>Tworzenie pliku AIR</h2>
<p>Do tej pory stworzyliśmy najzwyklejszy w świecie plik Flash oparty na AS 3.0 &#8211; czas zamienić go w aplikację AIR.<br />
Najpierw wybieramy menu File &#8211; Publish Settings. Pod tabem &#8220;Flash&#8221; wybieramy opcję &#8220;Version&#8221; na &#8220;Adobe AIR 1.0&#8243;.<br />
Następnie z menu Commands wybieramy opcję &#8220;AIR &#8211; Application and Installer Settings&#8221;.</p>
<p><img src="http://blackmoondev.com/wp-content/uploads/2008/09/deploy1.jpg" alt="Deploy1" title="deploy1" width="304" height="172" class="alignnone size-full wp-image-270" style="border: 1px #dccfcd solid;padding: 5px"/></p>
<p>W tym oknie możemy określić parametry tworzonego installera.<br />
Na razie większość opcji pozostawiamy w domyślnym ustawieniu &#8211; poza &#8220;Window Style&#8221;, które zmieniamy na &#8220;Custom Chorme (transparent)&#8221;.</p>
<p><img src="http://blackmoondev.com/wp-content/uploads/2008/09/deploy2.jpg" alt="Deploy2" title="deploy2" width="418" height="605" class="alignnone size-full wp-image-271" style="border: 1px #dccfcd solid;padding: 5px" /></p>
<p>Ostatnim krokiem jest wskazanie pliku z certyfikatem. Certyfikat należy kupić &#8211; np. na stronie Adobe. Nie jest niezbędny do tworzenia plików AIR &#8211; ale użytkownicy mogą bardzo podejrzliwie podchodzić do aplikacji bez certyfikatu. </p>
<p><img src="http://blackmoondev.com/wp-content/uploads/2008/09/deploy3.jpg" alt="Deploy3" title="deploy3" width="418" height="220" class="alignnone size-full wp-image-272" style="border: 1px #dccfcd solid;padding: 5px"/></p>
<h2>Download</h2>
<p>Pliki:<br />
<a href="http://goodies.blackmoondev.com/calc/bmdCalc.air">Instalator kalkulatora</a><br />
<a href="http://goodies.blackmoondev.com/calc/bmdCalc.zip">Źródła .fla i .as</a></p>
<p>Zapraszam do komentarzy:)</p>
]]></content:encoded>
			<wfw:commentRss>http://designerblog.pl/tworzenie-prostej-aplikacjii-air-flash-cs3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textmate &#8211; brakujący edytor</title>
		<link>http://designerblog.pl/textmate-brakujacy-edytor/</link>
		<comments>http://designerblog.pl/textmate-brakujacy-edytor/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 18:24:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[narzędzia]]></category>

		<guid isPermaLink="false">http://designerblog.pl/?p=86</guid>
		<description><![CDATA[O Textmate słyszałem już jakiś czas temu &#8211; jakoś nie bardzo miałem wtedy czas i ochotę na testowanie nowego narzędzia. Mimo, że teraz nie jest dużo luźniej z pracą (może właśnie dlatego człowiek się starał trochę uciec ;) &#8211; zainstalowałem i spróbowałem Textmate&#8217;a. Pierwsze wrażenie &#8211; nie jest taki śliczny jak go opisywano. Prawdę mówiąc, po [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://designerblog.pl/wp-content/uploads/2008/07/textmate_icon.png" rel="lightbox[86]"><img class="alignleft size-full wp-image-87" title="textmate_icon" src="http://designerblog.pl/wp-content/uploads/2008/07/textmate_icon.png" alt="Textmate" width="143" height="139" /></a>O Textmate słyszałem już jakiś czas temu &#8211; jakoś nie bardzo miałem wtedy czas i ochotę na testowanie nowego narzędzia. Mimo, że teraz nie jest dużo luźniej z pracą (może właśnie dlatego człowiek się starał trochę uciec ;) &#8211; zainstalowałem i spróbowałem Textmate&#8217;a.<br />
Pierwsze wrażenie &#8211; nie jest taki śliczny jak go opisywano. Prawdę mówiąc, po przeczytaniu na blogach kilku hymnów na temat Textmate&#8217;a oczekiwałem edytora, który co najmniej zacznie samodzielnie pisać kod, który mi jest aktualnie potrzebny. Tak dobrze nie jest:)<br />
Niemniej jednak &#8211; kiedy zacznie się w Textmate&#8217;cie pracować &#8211; jest bardzo fajnie, a po chwili (kiedy opanuje się podstawowe komendy i skróty) &#8211; jeszcze lepiej.<br />
Na tym etapie zaczynamy się wgłębiać w dokumentację i odkrywać funkcje, jakie przyprawiają o lekki zawrót głowy &#8211; hitem jest dla mnie edytowanie wielu linii na raz lub wstawianie notatek (dla siebie lub innych programistów &#8211; linki do miejsc gdzie wstawiono notatkę są dostępne ze osobnego panelu).<br />
Co prawda ja używam (i pewnie tylko do tego będę używał) Textmate jedynie do ActionSctipt&#8217;u, ale sam edytor obsługuje większość popularnych składni (oczywiście można definiować kolory na jakie dana składnia się koloruje).<br />
Choć to oczywiste, wpomnę o łatwo dostępnych tabach na jakich umieszczone są skróty do innych plików projektu oraz o zawijaniu kodu. Pisząc ActionScript mamy również dostęp do środowiska testowego Flasha z poziomu edytora. (tak na marginesie &#8211; czasami mnie dziwi dlaczego Adobe tak totalnie olało edytor wbudowany we Flasha. A następnie dziwię się jeszcze bardziej z jakiego powodu do niedawna pisałem w tym edytorze ;).<br />
Wracając do Textmate&#8217;a &#8211; dodajmy do tego moc drzemiąca w &#8220;hardcorowych&#8221; linuxowych edytorach (działą większość komend i skrótów z vim&#8217;a &#8211; choćby cały system szukania poprzez wyrażenia regularne) + mnóstwo użytecznych &#8220;snippetów&#8221;  + klika innych ułatwiających życie funkcjii.<br />
Całość zapakowana w elegancki, &#8220;macowy&#8221; interfejs.<br />
Edytor kosztuje 39 euro, można go ściągnąć (30 dniowy trial) i kupić na stronie <a href="http://macromates.com/">http://macromates.com/</a>. Gorąco polecam (właścicielom tych 10% ładniejszych komputerów &#8211; Textmate jest jedynie w wersji na Mac&#8217;a).</p>
]]></content:encoded>
			<wfw:commentRss>http://designerblog.pl/textmate-brakujacy-edytor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>funkcja randomColor()</title>
		<link>http://designerblog.pl/funkcja-randomcolor/</link>
		<comments>http://designerblog.pl/funkcja-randomcolor/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 14:40:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://designerblog.pl/?p=81</guid>
		<description><![CDATA[Potrzebowałem ostatnio funkcji losującej dowolny kolor RGB. Straciłem na to dobre pół godziny, kombinując z klasą Color &#8211; a rozwiąznie jak zwykle okazało się banalnie proste. Kod poniżej function randomColor() { var r1 = random(16).toString(16); var r2 = random(16).toString(16); var g1 = random(16).toString(16); var g2 = random(16).toString(16); var b1 = random(16).toString(16); var b2 = random(16).toString(16); [...]]]></description>
			<content:encoded><![CDATA[<p>Potrzebowałem ostatnio funkcji losującej dowolny kolor RGB.<br />
Straciłem na to dobre pół godziny, kombinując z klasą Color &#8211; a rozwiąznie jak zwykle okazało się banalnie proste.<br />
Kod poniżej</p>
<p><code><br />
function randomColor()<br />
{<br />
var r1 = random(16).toString(16);<br />
var r2 = random(16).toString(16);<br />
var g1 = random(16).toString(16);<br />
var g2 = random(16).toString(16);<br />
var b1 = random(16).toString(16);<br />
var b2 = random(16).toString(16);<br />
var rColor = "0x"+r1+r2+g1+g2+b1+b2;<br />
return(rColor);<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://designerblog.pl/funkcja-randomcolor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
