<?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>Blog Fellyph Cintra &#187; Tutoriais</title>
	<atom:link href="http://www.fellyph.com.br/blog/category/tutoriais/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fellyph.com.br/blog</link>
	<description></description>
	<lastBuildDate>Thu, 12 Jan 2012 21:34:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Criando páginas single para cada categoria (Single templates)</title>
		<link>http://www.fellyph.com.br/blog/tutoriais/criando-paginas-single-para-cada-categoria/</link>
		<comments>http://www.fellyph.com.br/blog/tutoriais/criando-paginas-single-para-cada-categoria/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 19:10:02 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[filtros]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[single]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1844</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/criando-paginas-single-para-cada-categoria/' addthis:title='Criando páginas single para cada categoria (Single templates) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Trabalhando com wordpress você tem um arquivo para cada página específica, por exemplo, o arquivo responsável pela página de categoria é o arquivo category.php, o arquivo resposável pela exibição do post em forma isolada é o arquivo single.php. Mas além dessas opções também podemos criar uma arquivo para a single de cada categoria, mas isso só é possível com trabalhando com três métodos diferentes: trabalhando com filtros , trabalhando com plugin ou trabalhando com condicional tags. <a href="http://www.fellyph.com.br/blog/tutoriais/criando-paginas-single-para-cada-categoria/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/criando-paginas-single-para-cada-categoria/' addthis:title='Criando páginas single para cada categoria (Single templates) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Trabalhando com wordpress você tem um arquivo para cada página específica, por exemplo, o arquivo responsável pela página de categoria é o arquivo category.php, o arquivo resposável pela exibição do post em forma isolada é o arquivo single.php. Mas além dessas opções também podemos criar uma arquivo para a single de cada categoria, mas isso só é possível com trabalhando com três métodos diferentes: trabalhando com filtros , trabalhando com plugin ou trabalhando com condicional tags.</p>
<p>A primeira forma é adicionando um filtro(comando) dentro do functions.php que eu vou mostrar o trecho de código que trabalhamos logo abaixo :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'single_template'</span><span style="color: #339933;">,</span> <span style="color: #990000;">create_function</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$t'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . &quot;/single-{$cat-&gt;term_id}.php&quot;) ) return TEMPLATEPATH . &quot;/single-{$cat-&gt;term_id}.php&quot;; } return $t;'</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Explicando rapidamente esse bloco de código aplica um filtro, ele usar um for para acessar cada categoria ele pega o id e criar um template de uma página single, da seguinte forma single-[id-da-categoria].php, mas claro isso só será aplicado se o arquivo existir na pasta do tema.</p>
<p>A segunda forma é utilizando plugin que funciona da seguinte forma ele habilita a possibilidade de criar templates igual o esquema de page templates. Você baixa e instala o plugin aquela tradicional instalação ou pelo painel ou via ftp. Plugin instalado e ativado você irá criar um arquivo &#8220;qualquer_nome.php&#8221; no inicio do arquivo adicionamos a seguinte bloco de código :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">/*
Single Post Template: [Nome que identifica o template no painel de posts]
Description: Descrição para ajudar na escolha do template
*/</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Esse esquema diferente do primeiro não cria uma single pra cada categoria e sim um template de forma livre para qualquer tipo de post. O plugin de single post template você encontra aqui: <a href="http://wordpress.org/extend/plugins/single-post-template/" target="_blank">http://wordpress.org/extend/plugins/single-post-template/</a></p>
<p>Outro plugin que tem um funcionamento similar é o Custom post template : <a href="http://wordpress.org/extend/plugins/custom-post-template/" target="_blank">http://wordpress.org/extend/plugins/custom-post-template/</a></p>
<p>A terceira forma é trabalhando com conditional tags(tags condicionais), são funções que funcionam como perguntas lógicas que retornam true ou false essas funções utilizamos juntos com um &#8220;if&#8221; para fazer o tratamento de uma determinada situação. Então visualizando esse panorama vamos fazer o tratamento da seguinte forma dentro do arquivo single.php adicionamos somente as conditional tags e para cada caso fazemos um include php para importar o php que desejamos.  Vamos a um exemplo :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
   <span style="color: #000088;">$post</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> in_category<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'3'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span>TEMPLATEPATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/single_para_categoria_3.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span>TEMPLATEPATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/single_para_outras_categorias.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>O código acima é dessa forma sem mais, a historia vai ser resolvida nos arquivos single_para_categoria_3.php e single_para_outras_categorias.php é lá onde estarão o loop e toda a estrutura da página. A desvantagem de trabalhar dessa forma é que para cada categoria temos que fazer um tratamento, se caso for criada uma categoria nova tem que entrar no single.php e adicionar mais uma condicional.</p>
<p>Mais infos sobre conditional tags : <a href="http://codex.wordpress.org/Conditional_Tags" target="_blank">http://codex.wordpress.org/Conditional_Tags</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/tutoriais/criando-paginas-single-para-cada-categoria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução a canvas(HTML5) &#8211; parte 2</title>
		<link>http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvashtml5-parte-2/</link>
		<comments>http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvashtml5-parte-2/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 19:54:55 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1328</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvashtml5-parte-2/' addthis:title='Introdução a canvas(HTML5) &#8211; parte 2 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Com um delay de um ano estou dando continuidade a um post sobre canvas <a href="http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/">Introdução a canvas</a>. Isso porque eu escutei de um amigo no face "oh fellyph achei um post seu sobre canvas, não tem nada lá". Realmente tem pouca coisa no post foi um post bem básicão, só utilizar a tag canvas e criar um box. Os demos desse post vou adicionar no "JSdo.it".  <a href="http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvashtml5-parte-2/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvashtml5-parte-2/' addthis:title='Introdução a canvas(HTML5) &#8211; parte 2 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Com um delay de um ano estou dando continuidade a um post sobre canvas <a href="http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/">Introdução a canvas</a>. Isso porque eu escutei de um amigo no face &#8220;oh fellyph achei um post seu sobre canvas, não tem nada lá&#8221;. Realmente tem pouca coisa no post foi um post bem básicão, só utilizar a tag canvas e criar um box. Os demos desse post vou adicionar no &#8220;JSdo.it&#8221;. </p>
<p>Neste Post vou tratar um pouco mais sobre a questão de cores, linhas e animação. </p>
<p>Revisando um pouco sobre cores função que define a cor de um context é a função fillStyle() com ela podemos passar os valores da seguinte forma:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;black&quot;</span><span style="color: #339933;">;</span>  
ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;#000000&quot;</span><span style="color: #339933;">;</span>  
ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgb(0,0,0)&quot;</span><span style="color: #339933;">;</span>  
ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgba(0,0,0,1)&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>No exemplo abaixo vou fazer um loop com quadrados randomizando duas posição x , y e sua transparência :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;html&gt;
	&lt;head&gt;
             <span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span> 
<span style="color: #003366; font-weight: bold;">var</span> posx <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> posy <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> alphaRandom <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'meucanvas'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'2d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 	<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">250</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	    	posx <span style="color: #339933;">=</span> Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">340</span><span style="color: #339933;">;</span>
	    	posy <span style="color: #339933;">=</span> Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">340</span><span style="color: #339933;">;</span>
	    	alphaRandom <span style="color: #339933;">=</span> Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  		ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'rgba(230,0,0,'</span> <span style="color: #339933;">+</span> alphaRandom <span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span> <span style="color: #339933;">;</span>
	    	ctx.<span style="color: #660066;">fillRect</span><span style="color: #009900;">&#40;</span>posx<span style="color: #339933;">,</span> posy<span style="color: #339933;">,</span> <span style="color: #CC0000;">15</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
             <span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
	&lt;/head&gt;
	&lt;body onload=&quot;init()&quot;&gt;
	&lt;canvas id=&quot;meucanvas&quot; width=&quot;400&quot; height=&quot;400&quot;&gt; &lt;/canvas&gt;
	&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>O resultado é o seguinte :</p>
<p><script type="text/javascript" src="http://jsdo.it/blogparts/3ujk/js?view=design"></script>
<p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/Fellyph.Cintra/3ujk" title="Quadrados randomicos">Quadrados randomicos &#8211; jsdo.it &#8211; share JavaScript, HTML5 and CSS</a></p>
<p>O demo desse exemplo completo vocês conferem aqui : <a href="http://jsdo.it/Fellyph.Cintra/3ujk" target="_blank">http://jsdo.it/Fellyph.Cintra/3ujk</a></p>
<p>Além das função &#8220;fillRect&#8221; podemos trabalhar com, &#8220;strokeRect&#8221;, &#8220;clearRect&#8221;,  &#8220;arc&#8221; e &#8220;lineTo&#8221;.<br />
strokeRect cria uma forma retangular com apenas seu contorno(linhas), clearRect limpa a área especificada e a função arc serve para criar arcos e circulos junto com a lineTo ela entra no grupo dos path, gosto de traduzir um path como um elemnto complexo. Para trabalhar com o grupo dos &#8220;paths&#8221; precisamos de um número maior de passos que vamos ver depois desse primeiro exemplo. </p>
<p>Vamos a um exemplo usando as 3 funções(fillRect, strokeRect, clearRect) abaixo vou mostrar apenas a parte do js:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   	<span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'meucanvas'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'2d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    	<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
	    <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> j <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">4</span><span style="color: #339933;">;</span> j<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> posx <span style="color: #339933;">=</span> j <span style="color: #339933;">*</span> <span style="color: #CC0000;">100</span>
		<span style="color: #003366; font-weight: bold;">var</span> posy <span style="color: #339933;">=</span> i <span style="color: #339933;">*</span> <span style="color: #CC0000;">100</span>    
	    	ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'rgb(230,0,0)'</span> <span style="color: #339933;">;</span>
    		ctx.<span style="color: #660066;">fillRect</span><span style="color: #009900;">&#40;</span>posx<span style="color: #339933;">,</span>posy<span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ctx.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span>posx  <span style="color: #339933;">+</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> posy <span style="color: #339933;">+</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span><span style="color: #CC0000;">80</span><span style="color: #339933;">,</span><span style="color: #CC0000;">80</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ctx.<span style="color: #660066;">strokeRect</span><span style="color: #009900;">&#40;</span>posx <span style="color: #339933;">+</span> <span style="color: #CC0000;">25</span><span style="color: #339933;">,</span>posy <span style="color: #339933;">+</span> <span style="color: #CC0000;">25</span><span style="color: #339933;">,</span><span style="color: #CC0000;">50</span><span style="color: #339933;">,</span><span style="color: #CC0000;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span> 
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>o resultado é o seguinte :</p>
<p><script type="text/javascript" src="http://jsdo.it/blogparts/ckrp/js?view=design"></script>
<p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/Fellyph.Cintra/ckrp" title="padrão">padrão &#8211; jsdo.it &#8211; share JavaScript, HTML5 and CSS</a></p>
<p>Como podemos ver o fillStyle interfere apenas no fillRect  o desenho gerado pela strokeRect não, isso por que função strokeRect trabalha com linhas para modicar as cores das linhas trabalhamos com a função strokeStyle que trabalha com os mesmos parâmetros utilizados pela função fillStyle. </p>
<p>Para trabalhar com elementos complexos precisamos de um número maior de passos em relação ao exemplo anterior. trabalhamos com quatro funções : beginPath(), closePath(), stroke(), fill(). No próximo exemplo vou usar um exercício que tinha usado em um post <a href="http://www.fellyph.com.br/blog/flash/trabalhando-com-shape-em-actionscript-30/" target="_blank">trabalhando com gráficos com Flash</a>. Vou converter esse exercício em canvas.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
   	<span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'meucanvas'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'2d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">// separei em três funções cada elemento do meu desenho</span>
    	<span style="color: #006600; font-style: italic;">// uma para criar o quadrado, outra para o lozango e o circulo</span>
    	criaQuadrado<span style="color: #009900;">&#40;</span>ctx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	criaLosango<span style="color: #009900;">&#40;</span>ctx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	criaBola<span style="color: #009900;">&#40;</span>ctx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> criaQuadrado<span style="color: #009900;">&#40;</span>_ctx<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			_ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;#008300&quot;</span><span style="color: #339933;">;</span>
			_ctx.<span style="color: #660066;">fillRect</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">330</span><span style="color: #339933;">,</span><span style="color: #CC0000;">240</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//essa função é resposável por criar o losango</span>
<span style="color: #003366; font-weight: bold;">function</span> criaLosango<span style="color: #009900;">&#40;</span>_ctx<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
 		_ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;#FCFF00&quot;</span><span style="color: #339933;">;</span>
   	  	_ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   		_ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		_ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">310</span><span style="color: #339933;">,</span><span style="color: #CC0000;">120</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		_ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span><span style="color: #CC0000;">230</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		_ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">20</span> <span style="color: #339933;">,</span> <span style="color: #CC0000;">120</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		_ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span><span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    		_ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		_ctx.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// essa função é responsável por criar um circulo</span>
<span style="color: #003366; font-weight: bold;">function</span> criaBola<span style="color: #009900;">&#40;</span>_ctx<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   	 _ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	_ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;#00027F&quot;</span><span style="color: #339933;">;</span>
	_ctx.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span><span style="color: #CC0000;">120</span><span style="color: #339933;">,</span><span style="color: #CC0000;">70</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>Math.<span style="color: #660066;">PI</span><span style="color: #339933;">*</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   	_ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   	 _ctx.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Como no exemplo anterior deixei só a parte do js o exemplo completo você confere aqui : <a href="http://jsdo.it/Fellyph.Cintra/c5qu" target="_blank">http://jsdo.it/Fellyph.Cintra/c5qu</a> e o resultado é o seguinte :</p>
<p><script type="text/javascript" src="http://jsdo.it/blogparts/c5qu/js?view=design"></script>
<p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/Fellyph.Cintra/c5qu" title="Exemplo gráficos">Exemplo gráficos &#8211; jsdo.it &#8211; share JavaScript, HTML5 and CSS</a></p>
<p>Nos primeiros testes vi que a coisa funciona bem manual definir cada elemento dentro do contexto. Também tentei adicionar eventos de click, mas essa questão tem que ser tratado de uma forma especial porque o evento é aplicado em todo o canvas e não no contexto. Então se eu crio um quadrado dentro do canvas eu preciso tratar o over dele utilizando x e y mas claro que alguma alma iluminada já fez uma biblioteca para essa questão. Quando eu fiz o primeiro post sobre canvas achei essa biblioca <a href="http://jcotton.sourceforge.net/" target="_blank">jCotton</a> quando estava pesquisando para o segundo post achei a biblioteca <a href="http://www.kineticjs.com/" target="_blank">Kinetic JS</a>. Deixo esses dois links para vocês pesquisarem serão base para meu próximo post sobre canvas.</p>
<p>Minha fonte para o post foi <a href="https://developer.mozilla.org/en/Canvas_tutorial" target="_blank">MDN Mozilla developer network</a></p>
<p>Vou parando por aqui e até o próximo post</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvashtml5-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personalizando o resumo(the_excerpt) do WordPress</title>
		<link>http://www.fellyph.com.br/blog/tutoriais/personalizando-o-resumo-the_excerpt-do-wordpress/</link>
		<comments>http://www.fellyph.com.br/blog/tutoriais/personalizando-o-resumo-the_excerpt-do-wordpress/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 01:14:11 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[add_filter]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[functions.php]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[resumo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1828</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/personalizando-o-resumo-the_excerpt-do-wordpress/' addthis:title='Personalizando o resumo(the_excerpt) do WordPress '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Um dos recursos que o Wordpress oferece na leitura do conteúdo do post é a função de resumo(the_excerpt()), No painel editar post existe um campo chamado resumo, mas nas versões 3.1 ou superiores do wordpress esta função ficou oculta. Para exibir esta opção vá em opções de tela no canto superior direito dentro do painel de posts, como na imagem abaixo: 

<img src="http://www.fellyph.com.br/blog/wp-content/uploads/2011/08/Screen-shot-2011-08-17-at-10.00.37-PM-600x86.png" alt="" title="Screen shot 2011-08-17 at 10.00.37 PM" width="600" height="86" class="alignnone size-large wp-image-1831" /> <a href="http://www.fellyph.com.br/blog/tutoriais/personalizando-o-resumo-the_excerpt-do-wordpress/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/personalizando-o-resumo-the_excerpt-do-wordpress/' addthis:title='Personalizando o resumo(the_excerpt) do WordPress '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Um dos recursos que o WordPress oferece na leitura do conteúdo do post é a função de resumo(the_excerpt()), No painel editar post existe um campo chamado resumo. Mas nas versões 3.1 ou superiores do wordpress esta função ficou oculta. Para exibir esta opção vá em opções de tela no canto superior direito dentro do painel de posts, como na imagem abaixo: </p>
<p><img src="http://www.fellyph.com.br/blog/wp-content/uploads/2011/08/Screen-shot-2011-08-18-at-11.45.41-AM-600x489.png" alt="" title="Screen shot 2011-08-18 at 11.45.41 AM" width="600" height="489" class="alignnone size-large wp-image-1838" /></p>
<p><strong>Fazendo isso um campo de resumo aparecerá em sua página de edição de post:</strong></p>
<p><img src="http://www.fellyph.com.br/blog/wp-content/uploads/2011/08/Screen-shot-2011-08-18-at-11.45.55-AM-600x469.png" alt="" title="Screen shot 2011-08-18 at 11.45.55 AM" width="600" height="469" class="alignnone size-large wp-image-1839" /></p>
<p>Cadastrando essa informação, se você quer exibi-lá é só utilizar a função the_excerpt() dentro de seu loop.</p>
<p>Se o campo resumo não for definido, o WordPress criará um resumo automaticamente através do que foi postado no conteúdo principal de seu post. Por padrão esse resumo automático possui 55 caracteres, para alterar essa quantidade de caracteres temos que adicionar um função no arquivo functions.php em seu tema. O functions.php resumindo em meias palavras é o arquivo que define algumas funções extras do seu tema, além de criar menus, shortcodes e adicionar filtros para conteúdo como vamos fazer agora. Então, utilizando a função add_filter ela ajuda a modificar a saída de algumas informações no WordPress.</p>
<p>Para editar o tamanho do resumo adicionamos o seguinte código no functions.php :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> novo_tamanho_do_resumo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">30</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'excerpt_length'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'novo_tamanho_do_resumo'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>No código acima modificamos o tamanho do resumo de 55(valor padrão) para 30 caracteres.</p>
<p>Quando não cadastramos nada no campo resumo, o WordPress resgata parte do conteúdo do post e adiciona no final do resumo [...] para sinalizar que o possui mais texto naquele conteúdo. Para modificar essa sinalização também dentro do functions.php adicionamos o seguinte filtro:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//Para versões 2.9 ou superiores</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> new_excerpt_more<span style="color: #009900;">&#40;</span><span style="color: #000088;">$more</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'...'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'excerpt_more'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'new_excerpt_more'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #666666; font-style: italic;">//para versão 2.8.x  e anteriores </span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> new_excerpt_more<span style="color: #009900;">&#40;</span><span style="color: #000088;">$excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'[...]'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'...'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$excerpt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_trim_excerpt'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'new_excerpt_more'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Nesse caso temos uma mudança de código entre versões antes e depois da 2.9,mas nos dois momentos trocamos o &#8216;[...]&#8216; por &#8216;&#8230;&#8217;.  </p>
<p>Além dessa possibilidade também temos uma segunda opção adicionar um link ao final so resumo, trocar o &#8216;[...]&#8216; por um link leia mais o código ficaria da seguinte forma:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> add_resumo_com_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$more</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$post</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'&lt;a href=&quot;'</span><span style="color: #339933;">.</span> get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot;&gt;Leia mais +&lt;/a&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'excerpt_more'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add_resumo_com_link'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/tutoriais/personalizando-o-resumo-the_excerpt-do-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Como fazer uma exibição Full Screen em AS3</title>
		<link>http://www.fellyph.com.br/blog/flash/como-fazer-uma-exibicao-full-screen-em-as3/</link>
		<comments>http://www.fellyph.com.br/blog/flash/como-fazer-uma-exibicao-full-screen-em-as3/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 17:39:41 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[full screen]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1660</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/como-fazer-uma-exibicao-full-screen-em-as3/' addthis:title='Como fazer uma exibição Full Screen em AS3 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Antes com velho as2 para habilitar o full screen você utilizava o comando fscommand. No AS3 a história mudou, para trabalhar com full screen você tem que acessar o stage e modificar a propriedade &#8220;displayState&#8221; ela específica o estado de &#8230; <a href="http://www.fellyph.com.br/blog/flash/como-fazer-uma-exibicao-full-screen-em-as3/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/como-fazer-uma-exibicao-full-screen-em-as3/' addthis:title='Como fazer uma exibição Full Screen em AS3 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Antes com velho as2 para habilitar o full screen você utilizava o comando fscommand. No AS3 a história mudou, para trabalhar com full screen você tem que acessar o stage e modificar a propriedade &#8220;displayState&#8221; ela específica o estado de exibição a ser usado. Essa propriedade trabalha com a classe StateDisplayState.</p>
<p>A classe StageDisplayState é simplesmente responsável por definir os valores válidos pela propriedade &#8220;displayState&#8221;. StateDisplay guarda dois valores</p>
<p>StageDisplayState.FULL_SCREEN : Define o modo de exibição tela cheia full screen </p>
<p>StageDisplayState.NORMAL : Define o modo de exibição padrão do Flash</p>
<p>Lembrado que qualquer entrada de teclado é desabilitada quando o Stage está no modo fullScreen.</p>
<p>O código para habilitar o modo fullScreen em as3 é da seguinte forma :</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageDisplayState</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// em meu arquivo Flash eu adicionei um movieClip com o nome de instância &quot;cliqueTela&quot;</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">// adicionando um listener para quando clicar no botão verificar </span>
cliqueTela.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, onClick<span style="color: #66cc66;">&#41;</span>
&nbsp;
cliqueTela.<span style="color: #006600;">buttonMode</span> = <span style="color: #000000; font-weight: bold;">true</span>;
cliqueTela.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0.5</span>; 
&nbsp;
<span style="color: #808080; font-style: italic;">//função para verificar se o stage está em fullScreen se estiver </span>
<span style="color: #000000; font-weight: bold;">function</span> goFullScreen<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//verifica e que estado o Flash está &quot;se estiver no estado normal habilita o modo fullScreen&quot;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">displayState</span> == StageDisplayState.<span style="color: #006600;">NORMAL</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		cliqueTela.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
        <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">displayState</span> = StageDisplayState.<span style="color: #006600;">FULL_SCREEN</span>;
    <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
		cliqueTela.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0.5</span>
        <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">displayState</span> = StageDisplayState.<span style="color: #006600;">NORMAL</span>;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> onClick<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
    goFullScreen<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Para o modo full screen funcionar é preciso fazer uma alteração em nosso arquivo HTML habilitar a exibição full screen do contém Flash. Por exemplo mostrar um trecho do código HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">...
&lt;div id=&quot;flashContent&quot;&gt;
			&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;550&quot; height=&quot;400&quot; id=&quot;fullscreen&quot; align=&quot;middle&quot;&gt;
				&lt;param name=&quot;movie&quot; value=&quot;fullscreen.swf&quot; /&gt;
				&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;
				&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;
&nbsp;
				&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;
                                ...</pre></div></div>

<p>Se estiver utilizando swfobject o código fica assim :</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot;&gt;
&nbsp;
var flashvars = false;
var params = { };
&nbsp;
swfobject.embedSWF(&quot;myContent.swf&quot;, &quot;myContent&quot;, &quot;300&quot;, &quot;120&quot;, &quot;9.0.0&quot;,&quot;expressInstall.swf&quot;, flashvars, params);
&nbsp;
&lt;/script&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/flash/como-fazer-uma-exibicao-full-screen-em-as3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como criar um crossdomain.xml para FLASH</title>
		<link>http://www.fellyph.com.br/blog/tutoriais/como-criar-um-crossdomain-xml-para-flash/</link>
		<comments>http://www.fellyph.com.br/blog/tutoriais/como-criar-um-crossdomain-xml-para-flash/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 22:30:11 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[actionScript]]></category>
		<category><![CDATA[crossdomain]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1629</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/como-criar-um-crossdomain-xml-para-flash/' addthis:title='Como criar um crossdomain.xml para FLASH '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Alguma vez você já tentou acessar os dados e o flash retornou um erro de sandbox, esse erro é disparado por motivo de segurança, o flash player bloqueia o acesso a dados entre domínios diferentes, isso para garantir que seu conteúdo não seja acessado por terceiros sem permissão.  <a href="http://www.fellyph.com.br/blog/tutoriais/como-criar-um-crossdomain-xml-para-flash/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/como-criar-um-crossdomain-xml-para-flash/' addthis:title='Como criar um crossdomain.xml para FLASH '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Alguma vez você já tentou acessar os dados e o flash retornou um erro de sandbox, esse erro é disparado por motivo de segurança, o flash player bloqueia o acesso a dados entre domínios diferentes, isso para garantir que seu conteúdo não seja acessado por terceiros sem permissão. </p>
<p>Esse erro pode ser até disparado dentro do seu próprio site,por exemplo, você tentar carregar uma imagem dentro do seu site pelo seu caminho completo http://www.meusite.com.br/minhaImagem.jpg e ao carregar o site no endereço http://meusite.com.br/ sem o www. ele considera que o conteúdo está sendo acessado de dominios diferentes. Uma solução para isso seria usar caminho relativo do arquivo e o problema será resolvido( &#8220;minhaImagem.jpg&#8221;). </p>
<p>Mas se for o caso realmente de carregar conteúdo de um outro domínio. Então será necessário informar ao flash player que é previsto esse acesso ao conteúdo de outro domínio. Esses dados nos podemos passar por um arquivo xml que fica na raiz de nosso site, o crossdomain.xml.</p>
<p>O arquivo crossdomain funciona da seguinte forma:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span> 
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cross-domain-policy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> 
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-access-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;*.meusite.com&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span> 
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-access-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;www.siteparceiro.com&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span> 
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-access-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;192.0.34.122&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span> 
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/cross-domain-policy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Como podemos ver um arquivo xml simples que tem o nó principal <cross-domain-policy> e dentro dele podemos adicionar um ou mais domínios em nossa lista de exceções, isso dentro do nó <allow-access-from domain="passamos a url como parâmetro">, no exemplo tem 3 tipos de dados que podemos passar o domínio curinga sinalizado pelo &#8220;*&#8221;, um domínio simples ou endereço ip do site que queremos carregar.</p>
<p>O Flash player por padrão antes de fazer qualquer requisição ele procura o arquivo crossdomain.xml, fazendo isso nós estamos garantido a comunicação entre domínios diferentes. </p>
<p>Primeiro post de 2011 demorou mais saiu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/tutoriais/como-criar-um-crossdomain-xml-para-flash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tutorial HypeFramework &#8211; Joshua Davis</title>
		<link>http://www.fellyph.com.br/blog/flash/tutorial-hypeframework-joshua-davis/</link>
		<comments>http://www.fellyph.com.br/blog/flash/tutorial-hypeframework-joshua-davis/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 16:52:28 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1525</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/tutorial-hypeframework-joshua-davis/' addthis:title='Tutorial HypeFramework &#8211; Joshua Davis '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Um dos palestrantes do FlashCamp Rio é o Joshua Davis Designer conhecido mundialmente por elaborar trabalhos gráficos que utilizam códigos. Alguns trabalhos realizados pelo Joshua Davis Abaixo: A base de técnica o Joshua Davis disponibilizou em seu framework o Hypeframework &#8230; <a href="http://www.fellyph.com.br/blog/flash/tutorial-hypeframework-joshua-davis/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/tutorial-hypeframework-joshua-davis/' addthis:title='Tutorial HypeFramework &#8211; Joshua Davis '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Um dos palestrantes do FlashCamp Rio é o Joshua Davis Designer conhecido mundialmente por elaborar trabalhos gráficos que utilizam códigos. Alguns trabalhos realizados pelo Joshua Davis Abaixo:</p>
<p><a href="http://www.fellyph.com.br/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-05-at-11.29.09-AM.png"><img class="alignnone size-full wp-image-1526" title="Screen shot 2010-11-05 at 11.29.09 AM" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-05-at-11.29.09-AM.png" alt="" width="436" height="437" /></a></p>
<p><a href="http://www.fellyph.com.br/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-05-at-11.29.57-AM.png"><img class="alignnone size-full wp-image-1528" title="Screen shot 2010-11-05 at 11.29.57 AM" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/11/Screen-shot-2010-11-05-at-11.29.57-AM.png" alt="" width="560" height="420" /></a></p>
<p>A base de técnica o Joshua Davis disponibilizou em seu framework o Hypeframework : http://www.hypeframework.org/, um framework com uma série de funcionalidades que ajudam no desenvolvimento de gráficos e animações complexas.</p>
<p>Então nesse post vamos fazer um pequeno tutorial para utilizar algumas classes legais do Hype framework. Inicialmente vamos baixar o zip com o pacote de classes :</p>
<p><a href="http://github.com/downloads/hype/hype/HYPE_1_1_8.zip">http://github.com/downloads/hype/hype/HYPE_1_1_8.zip</a></p>
<p>Dentro do zip do link acima em uma série de exemplos utilizando as principais classes do Hype, tanto em AS puro como utilizando o Flash IDE. Para esse tutorial vou utilizar as3 puro com o Flash Develop + Flex SDK se você não sabe usar essa parceria open source da uma olhada nesse post:</p>
<p>http://www.fellyph.com.br/blog/tutoriais/flash-develop-flex-sdk/</p>
<p>As versões mais recentes do Flash Develop já vem uma opção de intergrar o FLEX SDK na instalação. Se tudo estiver pronto vamos ao Primeiro exemplo vou utilizar o gridLayout classe utilizada para montar layouts em grid, seu funcionamento é bastante simples. Quando inicializamos uma classe passamos os seguintes paramêtros:</p>
<p>new GridLayout(posição inicial x, posção inicial y, espaçamento x, espaçamento y, número de colunas )</p>
<p>Agora vamos para um exemplo prático criei duas classes com o nome Bola e outra Grid :</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Bola <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Bola<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			graphics.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFFFFFF<span style="color: #66cc66;">*</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			graphics.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>;
			graphics.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>A classe Bola é uma classe simples que como o nome sugere cria uma circulo de 15px. Abaixo vou mostrar o código da classe Grid que para aplicar os elementos no palco usando a classe GridLayout. Já vou postar o código comentado:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> hype.<span style="color: #006600;">extended</span>.<span style="color: #006600;">layout</span>.<span style="color: #006600;">GridLayout</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Grid <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// criei uma variável para controlar linhas e colunas</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> linhas 	:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">8</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> colunas 	:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">12</span>;
		<span style="color: #808080; font-style: italic;">//criei meu GridLayout</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> layout	:GridLayout;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> total	:<span style="color: #0066CC;">Number</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Grid<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//defini o número total de elementos de acordo com</span>
			<span style="color: #808080; font-style: italic;">//o número de linhas e colunas</span>
&nbsp;
			total = linhas <span style="color: #66cc66;">*</span> colunas;
			<span style="color: #808080; font-style: italic;">//inicializando o gridLayout</span>
			<span style="color: #808080; font-style: italic;">//passamos como parâmetro :</span>
			<span style="color: #808080; font-style: italic;">//(a posição inicial x, a posição inicial y, espaçamento x , espaçamento y , número de colunas)</span>
			layout = <span style="color: #000000; font-weight: bold;">new</span> GridLayout<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">40</span>,colunas<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//vou executar o for de acordo com o total de elementos</span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span>; i <span style="color: #66cc66;">&amp;</span>lt; total;i++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> item:Bola = <span style="color: #000000; font-weight: bold;">new</span> Bola<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #808080; font-style: italic;">//aplicando o gridLayout nos elementos inicializados</span>
				layout.<span style="color: #006600;">applyLayout</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
				addChild<span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>O Funcionamento é básico:</p>
<p>1 &#8211; Criar uma GridLayout<br />
2 &#8211; Definir os parâmetros do Grid<br />
3 &#8211; Aplicar o GridLayou a cada elemento para fazer o posicionamento;</p>
<p>E o resultado que temos é o seguinte:</p>
<p><script type="text/javascript" src="http://www.fellyph.com.br/blog/wp-content/plugins/pb-embedflash/js/swfobject.js"></script><span class="embedflash" id="swfid63ad450f16ed5b9c04f894b6458049c7"><small>(Please open the article to see the flash file or player.)</small></span><script type="text/javascript">
				var flashvars = {}; var params = {}; var attributes = {};params.allowfullscreen = "true"; params.allowscriptaccess = "always";
				swfobject.embedSWF("http://www.fellyph.com.br/blog/wp-content/uploads/2010/12/Grid.swf","swfid63ad450f16ed5b9c04f894b6458049c7","550","400","9.0.0","http://www.fellyph.com.br/blog/wp-content/plugins/pb-embedflash/swf/expressInstall.swf",flashvars,params,attributes);
		</script></p>
<p>Outra classe interessante do HypeFramework é o SimpleProximity ela faz uma interação com uma propriedade de elemento de acordo com a proximidade ao seu raio, que propriedade vai ter interação e a largura do  definido na classe.  Para entender melhor a classe vamos a um exemplo prático: Vou criar uma classe Proximidade vou usar a base da classe Grid vai mudar apenas poucas linhas em relação a classe anterior.</p>
<p>Segue o código abaixo :</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> hype.<span style="color: #006600;">extended</span>.<span style="color: #006600;">behavior</span>.<span style="color: #006600;">SimpleProximity</span>;
	<span style="color: #0066CC;">import</span> hype.<span style="color: #006600;">extended</span>.<span style="color: #006600;">layout</span>.<span style="color: #006600;">GridLayout</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Proximidade <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// criei uma variável para controlar linhas e colunas</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> linhas 	:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">8</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> colunas 	:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">12</span>;
		<span style="color: #808080; font-style: italic;">//criei meu GridLayout</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> layout	:GridLayout;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> total	:<span style="color: #0066CC;">Number</span>;
&nbsp;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Proximidade<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//defini o número total de elementos de acordo com</span>
			<span style="color: #808080; font-style: italic;">//o número de linhas e colunas</span>
&nbsp;
			total = linhas <span style="color: #66cc66;">*</span> colunas;
			<span style="color: #808080; font-style: italic;">//inicializando o gridLayout </span>
			<span style="color: #808080; font-style: italic;">//passamos como parâmetro :</span>
			<span style="color: #808080; font-style: italic;">//(a posição inicial x, a posição inicial y, espaçamento x , espaçamento y , número de colunas) </span>
			layout = <span style="color: #000000; font-weight: bold;">new</span> GridLayout<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">40</span>,colunas<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//vou executar o for de acordo com o total de elementos </span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span>; i <span style="color: #66cc66;">&lt;</span> total;i++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> item:Bola = <span style="color: #000000; font-weight: bold;">new</span> Bola<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #808080; font-style: italic;">//aplicando o gridLayout nos elementos inicializados</span>
				layout.<span style="color: #006600;">applyLayout</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
&nbsp;
				<span style="color: #808080; font-style: italic;">//utilizando a Classe SimpleProximity</span>
				<span style="color: #000000; font-weight: bold;">var</span> prox:SimpleProximity = <span style="color: #000000; font-weight: bold;">new</span> SimpleProximity<span style="color: #66cc66;">&#40;</span>item, <span style="color: #ff0000;">&quot;scale&quot;</span>, <span style="color: #cc66cc;">0.8</span>,<span style="color: #cc66cc;">0.4</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1.8</span>,<span style="color: #cc66cc;">150</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #808080; font-style: italic;">// defini que ele vai trabalhar com a propriedade scale </span>
				<span style="color: #808080; font-style: italic;">//ela serve tanto para o scaleX como para o scaleY</span>
				<span style="color: #808080; font-style: italic;">// defini em seguida que ele vai ter uma elasticidade 0.8 e um ease 0.4</span>
				<span style="color: #808080; font-style: italic;">// depois definir os valor minimo e o maximo </span>
				<span style="color: #808080; font-style: italic;">//e por fim o raio para interação</span>
&nbsp;
				<span style="color: #808080; font-style: italic;">//dando o start no prox para ficar acompanhando a posição d</span>
				<span style="color: #808080; font-style: italic;">//do mouse em relação ao item				</span>
				prox.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
				addChild<span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p> O código acima já foi comentado e o resultado é o seguinte : </p>
<p><script type="text/javascript" src="http://www.fellyph.com.br/blog/wp-content/plugins/pb-embedflash/js/swfobject.js"></script><span class="embedflash" id="swfid5ae419a9f53b3320a094d0e17c9d5048"><small>(Please open the article to see the flash file or player.)</small></span><script type="text/javascript">
				var flashvars = {}; var params = {}; var attributes = {};params.allowfullscreen = "true"; params.allowscriptaccess = "always";
				swfobject.embedSWF("http://www.fellyph.com.br/blog/wp-content/uploads/2010/12/Proximidade.swf","swfid5ae419a9f53b3320a094d0e17c9d5048","550","400","9.0.0","http://www.fellyph.com.br/blog/wp-content/plugins/pb-embedflash/swf/expressInstall.swf",flashvars,params,attributes);
		</script></p>
<p>Podemos usar essas duas classes para fazer uma menu parecido com o menu inferior do Mac, agora dessa vez vamos montar apenas uma linha, vamos criar agora uma classe com o nome Menu  e Fazer algumas modificações na classe Bola como podemos conferir abaixo:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Bola <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Bola<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			graphics.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFFFFFF<span style="color: #66cc66;">*</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//muda o ponto y para o &quot;registration&quot; ficar no canto inferior</span>
			<span style="color: #808080; font-style: italic;">// ao centro</span>
			graphics.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,-<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">12</span><span style="color: #66cc66;">&#41;</span>;
			graphics.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Agora a classe Menu:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #0066CC;">MovieClip</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> hype.<span style="color: #006600;">extended</span>.<span style="color: #006600;">behavior</span>.<span style="color: #006600;">SimpleProximity</span>;
	<span style="color: #0066CC;">import</span> hype.<span style="color: #006600;">extended</span>.<span style="color: #006600;">layout</span>.<span style="color: #006600;">GridLayout</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> <span style="color: #0066CC;">Menu</span> <span style="color: #0066CC;">extends</span> <span style="color: #0066CC;">MovieClip</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> colunas 	:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">10</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> layout	:GridLayout;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">Menu</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// vou usar o espaçamento x 50 </span>
			<span style="color: #808080; font-style: italic;">//e o espaçamento y vou aplicar no meio do stage</span>
			layout = <span style="color: #000000; font-weight: bold;">new</span> GridLayout<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">40</span>,colunas<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//vamos usar o número de colunas para limitar o for</span>
			<span style="color: #808080; font-style: italic;">//assim  ter apenas uma linha</span>
			<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span>; i <span style="color: #66cc66;">&lt;</span> colunas; i++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> item:Bola = <span style="color: #000000; font-weight: bold;">new</span> Bola<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				layout.<span style="color: #006600;">applyLayout</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
				<span style="color: #000000; font-weight: bold;">var</span> prox:SimpleProximity = <span style="color: #000000; font-weight: bold;">new</span> SimpleProximity<span style="color: #66cc66;">&#40;</span>item, <span style="color: #ff0000;">&quot;scale&quot;</span>, <span style="color: #cc66cc;">0.6</span>,<span style="color: #cc66cc;">0.4</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1.9</span>,<span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;
				prox.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				addChild<span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>E o resultado é o seguinte :<br />
<script type="text/javascript" src="http://www.fellyph.com.br/blog/wp-content/plugins/pb-embedflash/js/swfobject.js"></script><span class="embedflash" id="swfidd970d0c5a1149133e6f88c4f10859798"><small>(Please open the article to see the flash file or player.)</small></span><script type="text/javascript">
				var flashvars = {}; var params = {}; var attributes = {};params.allowfullscreen = "true"; params.allowscriptaccess = "always";
				swfobject.embedSWF("http://www.fellyph.com.br/blog/wp-content/uploads/2010/12/menu.swf","swfidd970d0c5a1149133e6f88c4f10859798","550","400","9.0.0","http://www.fellyph.com.br/blog/wp-content/plugins/pb-embedflash/swf/expressInstall.swf",flashvars,params,attributes);
		</script></p>
<p>Como podemos ver algumas classes se olharmos com cuidados podemos encontrar soluções simples para o nosso dia-a-dia. Mostrei essas duas classes que fazem parte de um conjunto de 18 classes, tem muita coisa legal a ser explorada no Hype posso dizer que o Joshua Davis é um cara muito foda. Vou tentar escrever mais posts sobre o Hype. Mas hoje vou encerrando esse tutorial por aqui.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/flash/tutorial-hypeframework-joshua-davis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introdução a Canvas (HTML5)</title>
		<link>http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/</link>
		<comments>http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 05:08:06 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1242</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/' addthis:title='Introdução a Canvas (HTML5) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Depois de muito tempo longe de javascript, eu voltei a estudar-lo, tudo por conta da do tão temido html5. Comecei a fazer experimentos com ajuda de meu colega Leo(@leonardomarciel) com canvas. Iniciei no basicão, algo inicialmente trabalhoso criar os elementos do zero via código e acabei descobrindo um framework bastante legal depois de algumas pesquisas. <a href="http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/' addthis:title='Introdução a Canvas (HTML5) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Depois de muito tempo longe de javascript, eu voltei a estudar-lo, tudo por conta da do tão temido html5. Comecei a fazer experimentos com ajuda de meu colega Leo(@leonardomarciel) com canvas. Iniciei no basicão, algo inicialmente trabalhoso criar os elementos do zero via código e acabei descobrindo um framework bastante legal depois de algumas pesquisas.</p>
<p>Canvas é uma tag que permite desenhar gráficos bitmap através da linguagem javascript, canvas faz parte das novas especificações do HTML (HTML5) mais informações aqui : </p>
<p><a href="http://www.whatwg.org/specs/web-apps/current-work/ " target="_blank">http://www.whatwg.org/specs/web-apps/current-work/ </a></p>
<p>O melhores browser do mercado Chome, Firefox, Opera e Safari dão suporte a canvas.<br />
O pior browser do mercado Internet Explorer <strong>NÃO</strong> dá suporte, ou seja se está usando ie não verá nada de canvas.</p>
<p>Para utilizar o elemento canvas fazemos da seguinte forma :</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;canvas id=&quot;meucavas&quot; width=&quot;50&quot; height=&quot;50&quot;&gt;&lt;/canvas&gt;</pre></div></div>

<p>Onde passamos o id do canvas para futuramente fazer referência como um elemento html normal e as propriedades largura e altura, se essas propriedades de largura e altura não forem definidas elas assumem os valores 300 px de largura por 150 px de altura. Também podemos definir a largura e altura por CSS mas corremos o risco de distorcer a imagem gerada pelo canvas. </p>
<p>Como a tag canvas é uma novidade do HTML ela não tem suporte nos browser mais antigos como o firefox 1.0 e internet explorer. Para fazer o tratamento nesse caso incluimos dentro da tag canvas o nosso conteúdo alternativo. No momento que o browser não der suporte ele irá ignorar a tag e ler o conteúdo seguinte.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;canvas id=&quot;meucanvas&quot;&gt;
Se o browser não tiver suporte irá exibir esse texto.
&lt;/canvas&gt;</pre></div></div>

<p>Esse texto dentro da tag vai aparecer se o browser não der suporte, dentro da tag também podemos colocar imagens como conteúdo alternativo ou até um elemento <object>.</p>
<p>Até agora só falei do elemento canvas não fiz nenhuma edição em nossa tag, mas agora vamos começar a editar nosso canvas, o elemento tem dois tipos de renderização 2D e 3D, ou como é chamado contexto de renderização. Nesse tutorial vamos trabalhar com o 2D.</p>
<p>Para acessar o contexto de renderização utilizamos o método getContext(), e passamos como parâmetro o tipo do contexto &#8220;2d&#8221; ou &#8220;3d&#8221;. O uso desse método é feito da seguinte forma:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">//acessando nosso elemento canvas</span>
	<span style="color: #003366; font-weight: bold;">var</span> canvas <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;meucanvas&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//definindo o contexto</span>
	<span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;2d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Para fazer um tratamento exibindo um alerta para o usuário caso o browser não tenha suporte a canvas fazemos da seguinte forma:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> canvas <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;meucanvas&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'2d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
		window.<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;desculpe seu browser não tem suporte a canvas, por favor instale um navegador descente.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Agora que temos o todo o tratamento para o canvas vamos criar um forma primitiva. Anteriormente só tinha exibido trechos do meu código HTML, dessa vez vou mostrar como o todo o esquema ficaria.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;html&gt;
	&lt;head&gt;
	&lt;script type=&quot;application/javascript&quot;&gt;
&nbsp;
		function init(){
		//acessando nosso elemento pelo id
		var canvas = document.getElementById(&quot;meucanvas&quot;);
		// utilizando uma condicional caso o browser não 
		//tenha suporte
		if(canvas.getContext){
			var ctx = canvas.getContext(&quot;2d&quot;);
			// definindo o preenchimento
			// passamos como paramentro as cores rgb
			ctx.fillStyle = &quot;rgb(0,200,0)&quot;;
			//desenhando um quadrado
			//definimos os valores (x, y, largura, altura)
			ctx.fillRect(40,40, 80 , 80 );
&nbsp;
		}else{
			window.alert(&quot;desculpe seu browser não tem suporte a canvas, por favor instale um navegador descente.&quot;);
		}
		}
	&lt;/script&gt;
	&lt;/head&gt;
	&lt;body onload=&quot;init()&quot;&gt;
	&lt;canvas id=&quot;meucanvas&quot; width=&quot;200&quot; height=&quot;200&quot;&gt; &lt;/canvas&gt;
	&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Na linha que passo o preenchimento &#8220;fillStyle&#8221; posso passar outro mais um parâmetro na chamada da função &#8220;rgba(200,0,0,0.5)&#8221; onde eu passo as três cores dos padrão rgb e opacidade do elemento(alpha). Outra opção é passar um código hexadecimal como parâmetro na função fillStyle, por exemplo fillStylle(&#8220;#00CC00&#8243;). Nesse tutorial vamos parando por aqui, deixo aqui o link do demo do tutorial : <a href="http://jsdo.it/Fellyph.Cintra/4f12" target="_blank">http://jsdo.it/Fellyph.Cintra/4f12</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/tutoriais/introducao-a-canvas-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evento Change TextField &#8211; Como contar o número de caracteres</title>
		<link>http://www.fellyph.com.br/blog/flash/evento-change-textfield-como-contar-o-numero-de-caracteres/</link>
		<comments>http://www.fellyph.com.br/blog/flash/evento-change-textfield-como-contar-o-numero-de-caracteres/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 01:32:37 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[textfield]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1300</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/evento-change-textfield-como-contar-o-numero-de-caracteres/' addthis:title='Evento Change TextField &#8211; Como contar o número de caracteres '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>A Classe TextField tem 4 eventos:  change, link, scroll e input. Nesse tutorial vou trabalhar com o evento "change" para fazer um pequeno contador de caracteres. O evento change como o nome sugere é chamado quando o inputText é alterado. Então vamos começar o tutorial: <a href="http://www.fellyph.com.br/blog/flash/evento-change-textfield-como-contar-o-numero-de-caracteres/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/evento-change-textfield-como-contar-o-numero-de-caracteres/' addthis:title='Evento Change TextField &#8211; Como contar o número de caracteres '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>A Classe TextField tem 4 eventos:  change, link, scroll e input. Nesse tutorial vou trabalhar com o evento &#8220;change&#8221; para fazer um pequeno contador de caracteres. O evento change como o nome sugere é chamado quando o inputText é alterado. Então vamos começar o tutorial:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//importando as classes necessárias</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #0066CC;">MovieClip</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">TextField</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #006600;">TextFieldType</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * ...
	 * @author Fellyph Cintra
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ContaTexto <span style="color: #0066CC;">extends</span> <span style="color: #0066CC;">MovieClip</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> campoInput	:<span style="color: #0066CC;">TextField</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> campoConta	:<span style="color: #0066CC;">TextField</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> titulo		:<span style="color: #0066CC;">TextField</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> contador		:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> maximo		:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">140</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ContaTexto<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// instanciando os campos</span>
			campoConta 	= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			campoInput 	= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			titulo 		= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//definindo nosso campo input</span>
			campoInput.<span style="color: #0066CC;">type</span> = TextFieldType.<span style="color: #006600;">INPUT</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//definindo a quantidade maxima de caracteres que é 140</span>
			campoInput.<span style="color: #0066CC;">maxChars</span> = maximo;
&nbsp;
			<span style="color: #808080; font-style: italic;">//adicionando os campos ao palco</span>
			addChild<span style="color: #66cc66;">&#40;</span>campoInput<span style="color: #66cc66;">&#41;</span>;
			addChild<span style="color: #66cc66;">&#40;</span>campoConta<span style="color: #66cc66;">&#41;</span>;
			addChild<span style="color: #66cc66;">&#40;</span>titulo<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			titulo.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;digite seu texto&quot;</span>;
			titulo.<span style="color: #006600;">x</span> = <span style="color: #cc66cc;">50</span>
			titulo.<span style="color: #006600;">y</span> = <span style="color: #cc66cc;">30</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//definindo algumas caracteristicas do textIpunt</span>
			campoInput.<span style="color: #0066CC;">width</span>		= <span style="color: #cc66cc;">200</span>;
			campoInput.<span style="color: #0066CC;">height</span> 		= <span style="color: #cc66cc;">80</span>;
			campoInput.<span style="color: #0066CC;">border</span>		= <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// definir como multline</span>
			campoInput.<span style="color: #0066CC;">multiline</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// definir a quebra de linha quando chegar no final</span>
			campoInput.<span style="color: #0066CC;">wordWrap</span>		= <span style="color: #000000; font-weight: bold;">true</span>;
			campoInput.<span style="color: #006600;">x</span> 			= <span style="color: #cc66cc;">50</span>;
			campoInput.<span style="color: #006600;">y</span> 			= <span style="color: #cc66cc;">50</span>;
&nbsp;
			campoConta.<span style="color: #0066CC;">width</span> 		= <span style="color: #cc66cc;">50</span>;
			campoConta.<span style="color: #0066CC;">height</span> 		= <span style="color: #cc66cc;">20</span>;
			campoConta.<span style="color: #0066CC;">border</span>		= <span style="color: #000000; font-weight: bold;">true</span>;
			campoConta.<span style="color: #006600;">y</span> 			= <span style="color: #cc66cc;">135</span>;
			campoConta.<span style="color: #006600;">x</span> 			= <span style="color: #cc66cc;">200</span>;
&nbsp;
			campoConta.<span style="color: #0066CC;">text</span> 		= <span style="color: #ff0000;">&quot;140&quot;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//adicionando o evento change ao campo de texto</span>
			<span style="color: #808080; font-style: italic;">//notem que change não um TextEvent e sim um Event</span>
			campoInput.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">CHANGE</span>, onChange<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onChange<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// subitraindo o numero maximo pela quantidade de caracteres</span>
			campoConta.<span style="color: #0066CC;">text</span> = maximo - campoInput.<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">length</span>  + <span style="color: #ff0000;">&quot;&quot;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>O código já está comentado para facilitar o entendimento, mas o princípio básico é:</p>
<ul>
<li>Definir a quantidade máxima de caracteres</li>
<li>Adicionar o evento de listener</li>
<li>E fazer o tratamento na função que o listener chama</li>
</ul>
<p>o resultado vai ser o seguinte:</p>
<p><object type="application/x-shockwave-flash" data="http://www.fellyph.com.br/blog/wp-content/uploads/2010/07/main.swf" width="470" height="300" class="embedflash"><param name="movie" value="http://www.fellyph.com.br/blog/wp-content/uploads/2010/07/main.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><small>(Please open the article to see the flash file or player.)</small></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/flash/evento-change-textfield-como-contar-o-numero-de-caracteres/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Restringindo a entrada caracteres em um inputText com ActionScript 3.0</title>
		<link>http://www.fellyph.com.br/blog/flash/restringindo-a-entrada-caracteres-em-um-inputtext-com-actionscript-3-0/</link>
		<comments>http://www.fellyph.com.br/blog/flash/restringindo-a-entrada-caracteres-em-um-inputtext-com-actionscript-3-0/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 23:23:08 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[textfield]]></category>
		<category><![CDATA[texto]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1230</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/restringindo-a-entrada-caracteres-em-um-inputtext-com-actionscript-3-0/' addthis:title='Restringindo a entrada caracteres em um inputText com ActionScript 3.0 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>InputText faz parte da classe TextField que é responsável pela exibição de entrada de texto no conteúdo Flash. Então vamos para o nosso tutorial express, criei uma class com o nome de TextExample esse primeiro passo vamos adicionar um campo de texto ao palco vou comentar todo o código. <a href="http://www.fellyph.com.br/blog/flash/restringindo-a-entrada-caracteres-em-um-inputtext-com-actionscript-3-0/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/restringindo-a-entrada-caracteres-em-um-inputtext-com-actionscript-3-0/' addthis:title='Restringindo a entrada caracteres em um inputText com ActionScript 3.0 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>InputText faz parte da classe TextField que é responsável pela exibição de entrada de texto no conteúdo Flash.  Então vamos para o nosso tutorial express, criei uma class com o nome de  TextExample esse primeiro passo vamos adicionar um campo de texto ao palco vou comentar todo o código.</p>
<pre name="code" class="js">package
{

	//importando as classes necessárias

	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldType;

	public class TextExample extends Sprite
	{
		// criando um campo de texto
		public var tf:TextField;

		public function TextExample()
		{
			//instanciando um campo de texto novo
			tf = new TextField();

			// propriedades
			tf.height = 20;
			tf.width = 200;
			tf.x = 10;
			tf.y = 40;

			//definindo o tipo do campo de texto para input
			tf.type = TextFieldType.INPUT;
			//criando uma barra para visualizar melhor o campo de texto
			tf.border = true;

			//adicionando o campo de texto no palco
			addChild(tf);
		}

	}

}
</pre>
<p>A propriedade que restringe a entrada de dados é &#8220;.restrict&#8221; ela recebe uma String. Quando ele não é definido ele aceita qualquer tipo de entrada, para permitir uma sequência de caracteres usamos o hífen &#8220;-&#8221;, por exemplo, se que quiser permitir apenas números em meu campo de texto vou usar &#8220;0-9&#8243;, se quiser umas apenas letras minúsculas &#8220;a-z&#8221;.<br />
Para negar a permissão de um caracter específico usamos o acento circunflexo &#8220;^&#8221;, por exemplo, &#8220;^1-3&#8243; exclui a entrada dos números de 1 a 3. Vamos agora para a prática:</p>
<pre name="code" class="js">package
{

	//importando as classes necessárias

	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldType;

	public class TextExample extends Sprite
	{
		// criando um campo de texto
		public var soNumeros:TextField;
		public var soLetras:TextField;

		public function TextExample()
		{
			//instanciando um campo de texto novo
			soNumeros 	= new TextField();
			soLetras 	= new TextField();

			// propriedades de soNumeros
			soNumeros.height = 20;
			soNumeros.width = 200;
			soNumeros.x = 10;
			soNumeros.y = 40;

			//permitindo apenas numeros
			soNumeros.restrict = "0-9";

			//defininindo o tipo do campo de texto para input
			soNumeros.type = TextFieldType.INPUT;
			//criando uma barra para visualizar melhor o campo de texto
			soNumeros.border = true;

			// propriedades soLetras
			soLetras.height = 20;
			soLetras.width = 200;
			soLetras.x = 230;
			soLetras.y = 40;

			//permitindo apenas letras maiúsculas e minúsculas
			soLetras.restrict = "a-z A-Z";

			//defininindo o tipo do campo de texto para input
			soLetras.type = TextFieldType.INPUT;
			//criando uma barra para visualizar melhor o campo de texto
			soLetras.border = true;

			//adicionando o campo de texto no palco
			addChild(soNumeros);
			addChild(soLetras);
		}

	}

}
</pre>
<p>E o resultado seria o seguinte :</p>
<p><object type="application/x-shockwave-flash" data="http://www.fellyph.com.br/blog/wp-content/uploads/2010/06/teste.swf" width="450" height="100" class="embedflash"><param name="movie" value="http://www.fellyph.com.br/blog/wp-content/uploads/2010/06/teste.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><small>(Please open the article to see the flash file or player.)</small></object></p>
<p>Se no exemplo acima quiséssemos excluir a entrada de algum caracter funcionaria da forma abaixo:</p>
<pre name="code" class="js">// seria permitido apenas números menos e número 5
soNumeros.restrict = "0-9 ^5";
</pre>
<p>Esse exemplo também seria aplicável em qualquer tipo de caracter, fechamos por aqui esse tutorial.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/flash/restringindo-a-entrada-caracteres-em-um-inputtext-com-actionscript-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial Pixel bender + Flash</title>
		<link>http://www.fellyph.com.br/blog/flash/tutorial-pixel-bender-flash/</link>
		<comments>http://www.fellyph.com.br/blog/flash/tutorial-pixel-bender-flash/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 06:00:54 +0000</pubDate>
		<dc:creator>Fellyph</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[filtros]]></category>
		<category><![CDATA[pixel bender]]></category>

		<guid isPermaLink="false">http://www.fellyph.com.br/blog/?p=1054</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/tutorial-pixel-bender-flash/' addthis:title='Tutorial Pixel bender + Flash '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>No post passado falei um pouco do pixel bender se não viu tem o link abaixo :
Introdução a Pixel Bender ToolKit

Então vamos lá vou utilizar o código do tutorial passado, mas antes temos que exportar o nosso script para o formato que o Flash suporta. então com o código anterior aberto. <a href="http://www.fellyph.com.br/blog/flash/tutorial-pixel-bender-flash/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.fellyph.com.br/blog/flash/tutorial-pixel-bender-flash/' addthis:title='Tutorial Pixel bender + Flash '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>No post passado falei um pouco do pixel bender se não viu tem o link abaixo :</p>
<h3><a title="Introdução a Pixel Bender ToolKit" href="../flash/introducao-a-pixel-bender-toolkit/">Introdução a Pixel Bender ToolKit</a></h3>
<p>Então vamos lá vou utilizar o código do tutorial passado, mas antes temos que exportar o nosso script para o formato que o Flash suporta. então com o código anterior aberto.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">kernel NewFilter
<span style="color: #66cc66;">&amp;</span>lt;   namespace : <span style="color: #ff0000;">&quot;Your Namespace&quot;</span>;     vendor : <span style="color: #ff0000;">&quot;Your Vendor&quot;</span>;     <span style="color: #0066CC;">version</span> : <span style="color: #cc66cc;">1</span>;     description : <span style="color: #ff0000;">&quot;your description&quot;</span>; <span style="color: #66cc66;">&amp;</span>gt;
<span style="color: #66cc66;">&#123;</span>
    input image4 src;
    output pixel4 dst;
&nbsp;
    <span style="color: #0066CC;">void</span>
    evaluatePixel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
        dst = sampleNearest<span style="color: #66cc66;">&#40;</span>src,outCoord<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        dst.<span style="color: #006600;">r</span> += <span style="color: #cc66cc;">0.4</span>;
        dst.<span style="color: #006600;">b</span> -= <span style="color: #cc66cc;">0.4</span>;
&nbsp;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Vamos exportar esse filtro para o Flash da seguinte forma:  menu superior &gt; file &gt; Export Kernel Filter for Flash.</p>
<p><img class="alignnone size-full wp-image-1055" title="tela5-pixelbender" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/tela5-pixelbender.jpg" alt="" width="470" height="440" /></p>
<p>O pixel bender irá exportar uma extensão &#8220;.pbj&#8221; escolha o mesmo local onde será salvo seu Flash. Agora vamos para o Flash crie um novo documento. E importar a imagem &#8220;YellowFlowers.png&#8221; essa imagem você encontra no seguinte endereço:</p>
<p>* Windows: C:\Program Files (x86)\Adobe\Adobe Utilities\Pixel Bender Toolkit\sample images<br />
* Mac OS: Mac HD/Applications/Utilities/Adobe Utilities/Pixel Bender Toolkit/sample images</p>
<p>Jogue a imagem no palco e converta em movieclip:</p>
<p><img class="alignnone size-full wp-image-1056" title="tela1-flashpixel" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/tela1-flashpixel.jpg" alt="" width="470" height="337" /></p>
<p>Coloque o nome de instância do movieclip &#8220;flor&#8221;:<br />
<img class="alignnone size-full wp-image-1057" title="tela2-flashpixel" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/tela2-flashpixel.jpg" alt="" width="470" height="337" /></p>
<p>Agora vamos ao código :</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//criamos uma requisição com o endereço do nosso filtro</span>
<span style="color: #000000; font-weight: bold;">var</span> urlRequest:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;pixelbender.pbj&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//instaciamos um novo URLLoader para carregar nossa requisição</span>
<span style="color: #000000; font-weight: bold;">var</span> urlLoader:URLLoader = <span style="color: #000000; font-weight: bold;">new</span> URLLoader<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
urlLoader.<span style="color: #006600;">dataFormat</span> = URLLoaderDataFormat.<span style="color: #006600;">BINARY</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//adicionamos um evento para quando</span>
urlLoader.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">COMPLETE</span>, aplicarFiltro<span style="color: #66cc66;">&#41;</span>;
urlLoader.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span>urlRequest<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> aplicarFiltro<span style="color: #66cc66;">&#40;</span> event:Event <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
  	<span style="color: #000000; font-weight: bold;">var</span> shader:Shader = <span style="color: #000000; font-weight: bold;">new</span> Shader<span style="color: #66cc66;">&#40;</span> event.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">data</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> shaderFilter:ShaderFilter = <span style="color: #000000; font-weight: bold;">new</span> ShaderFilter<span style="color: #66cc66;">&#40;</span> shader <span style="color: #66cc66;">&#41;</span>;
	flor.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span> shaderFilter <span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Quando o filtro for carregado o Evento COMPLETE irá chamar a função &#8220;aplicarFiltro&#8221; dentro da função criamos uma variável do tipo Shader: é o kernel do pixel bender no Flash ele cuida de aplicar as funções dos filtros em cada pixel da imagem. Gerencia o input e o output de uma ou mais imagens.<br />
Na linha seguinte temos o ShaderFilter ele é o filtro em si que é aplicado nos DisplayObjects, aplicamos diretamente da propriedade filters passando um array [] como podemos ver na última linha. Se tivessemos trabalhando com BitmapData usaríamos o método BitmapData.applyFilter().</p>
<p>Agora vou criar um novo filtro no pixel bender para ser usado no flash :</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">kernel NewFilter
<span style="color: #66cc66;">&amp;</span>lt;   namespace : <span style="color: #ff0000;">&quot;Your Namespace&quot;</span>;     vendor : <span style="color: #ff0000;">&quot;Your Vendor&quot;</span>;     <span style="color: #0066CC;">version</span> : <span style="color: #cc66cc;">1</span>;     description : <span style="color: #ff0000;">&quot;your description&quot;</span>; <span style="color: #66cc66;">&amp;</span>gt;
<span style="color: #66cc66;">&#123;</span>
    input image4 src;
    output pixel4 dst;
    <span style="color: #808080; font-style: italic;">// estou criando um paramento &quot;azul&quot; do tipo float que seu valor minimo é -1;</span>
   <span style="color: #808080; font-style: italic;">// o valor máximo é 1 e o valor default é 0</span>
    parameter float azul
    <span style="color: #66cc66;">&amp;</span>lt;         minValue: -<span style="color: #cc66cc;">1.0</span>;         maxValue: <span style="color: #cc66cc;">1.0</span>;         defaultValue: <span style="color: #cc66cc;">0.0</span>;     <span style="color: #66cc66;">&amp;</span>gt;;
&nbsp;
    <span style="color: #808080; font-style: italic;">// criei um parametro com o nome vermelho</span>
    parameter float vermelho
    <span style="color: #66cc66;">&amp;</span>lt;         minValue: -<span style="color: #cc66cc;">1.0</span>;         maxValue: <span style="color: #cc66cc;">1.0</span>;         defaultValue: <span style="color: #cc66cc;">0.0</span>;     <span style="color: #66cc66;">&amp;</span>gt;;
    <span style="color: #808080; font-style: italic;">// e um parametro com o nome verde</span>
    parameter float verde
    <span style="color: #66cc66;">&amp;</span>lt;         minValue: -<span style="color: #cc66cc;">1.0</span>;         maxValue: <span style="color: #cc66cc;">1.0</span>;         defaultValue: <span style="color: #cc66cc;">0.0</span>;     <span style="color: #66cc66;">&amp;</span>gt;;
&nbsp;
    <span style="color: #0066CC;">void</span>
    evaluatePixel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
&nbsp;
        dst = sampleNearest<span style="color: #66cc66;">&#40;</span>src,outCoord<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #808080; font-style: italic;">// no meu output eu mutiplico cada parâmetro em um canal especifico</span>
        <span style="color: #808080; font-style: italic;">// float4 ele trabalha com os 4 canais vermelho, verde, azul e alpha</span>
        dst += float4<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.5</span><span style="color: #66cc66;">*</span>vermelho, <span style="color: #cc66cc;">0.5</span><span style="color: #66cc66;">*</span>verde, <span style="color: #cc66cc;">0.5</span> <span style="color: #66cc66;">*</span> azul, <span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Se você rodar o script no Pixel Bender irá notar que aparecerá 3 slides no canto direito da IDE do Pixel Bender.<br />
<img class="alignnone size-full wp-image-1061" title="pixelflash-2" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/pixelflash-2.jpg" alt="" width="470" height="274" /></p>
<p>Export para o script pra o formato aceito para o flash, e vamos montar o nosso exemplo:<br />
<img class="alignnone size-full wp-image-1062" title="pixelflash-3" src="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/pixelflash-3.jpg" alt="" width="470" height="274" /></p>
<p>Estou utilizando o fla antigo com o moviecliep &#8220;flor&#8221; mas agora eu vou criar 3 botões um pra cada canal, azul, verde e vermelho como na figura acima. Vou colocar o nome de instância de cada botão, btAzul, btVerde, btVermelho.</p>
<p>E agora vamos ao código:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> shader:Shader;
<span style="color: #000000; font-weight: bold;">var</span> shaderFilter:ShaderFilter;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> urlRequest:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;pixelbender.pbj&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> urlLoader:URLLoader = <span style="color: #000000; font-weight: bold;">new</span> URLLoader<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
urlLoader.<span style="color: #006600;">dataFormat</span> = URLLoaderDataFormat.<span style="color: #006600;">BINARY</span>;
urlLoader.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">COMPLETE</span>, applyFilter <span style="color: #66cc66;">&#41;</span>;
urlLoader.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span>urlRequest<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> applyFilter<span style="color: #66cc66;">&#40;</span> event:Event <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//aplicando o filtro</span>
  	shader = <span style="color: #000000; font-weight: bold;">new</span> Shader<span style="color: #66cc66;">&#40;</span> event.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">data</span> <span style="color: #66cc66;">&#41;</span>;
	shaderFilter = <span style="color: #000000; font-weight: bold;">new</span> ShaderFilter<span style="color: #66cc66;">&#40;</span> shader <span style="color: #66cc66;">&#41;</span>;
	flor.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span> shaderFilter <span style="color: #66cc66;">&#93;</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">//adicionando o evento de clique aos botões</span>
	btAzul.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, setAzul<span style="color: #66cc66;">&#41;</span>;
	btVerde.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, setVerde<span style="color: #66cc66;">&#41;</span>;
	btVermelho.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, setVermelho<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> setAzul<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">// mexendo com os valores dos parameters que criamos</span>
	<span style="color: #808080; font-style: italic;">// adicionando 1 ao canal azul e zerando os demais</span>
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">azul</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>;
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">verde</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">vermelho</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
	flor.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span> shaderFilter <span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> setVerde<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">// adicionando 1 ao canal verde e zerando os demais</span>
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">verde</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>;
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">azul</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">vermelho</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
	flor.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span> shaderFilter <span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> setVermelho<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">vermelho</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>;
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">azul</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
	shader.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">verde</span>.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
	flor.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span> shaderFilter <span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Quando eu carrego o filtro do pixel bender eu adiciono os eventos de clique que contém as funções que manipulam os valores dos canais.</p>
<p>O resultado vai ser o seguinte:</p>
<p><object type="application/x-shockwave-flash" data="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/post-blog2.swf" width="470" height="353" class="embedflash"><param name="movie" value="http://www.fellyph.com.br/blog/wp-content/uploads/2010/03/post-blog2.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><small>(Please open the article to see the flash file or player.)</small></object></p>
<p>Uma boa referência é o blog pixelero:</p>
<p><a href="http://pixelero.wordpress.com/2008/06/12/pixel-bender-hexcells/" target="_blank">http://pixelero.wordpress.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fellyph.com.br/blog/flash/tutorial-pixel-bender-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

