<?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>Rogério Lino &#187; flutuante</title>
	<atom:link href="http://rogeriolino.com/tags/flutuante/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogeriolino.com</link>
	<description>Desenvolvimento Web, tecnologia, jogos e etcetera</description>
	<lastBuildDate>Wed, 16 May 2012 19:51:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Flash e CSS: Banner Flutuante</title>
		<link>http://rogeriolino.com/2007/02/04/flash-banner-flutuante/</link>
		<comments>http://rogeriolino.com/2007/02/04/flash-banner-flutuante/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 20:45:42 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[banner]]></category>
		<category><![CDATA[flutuante]]></category>
		<category><![CDATA[rollover]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[transparente]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/02/04/flash-banner-flutuante/</guid>
		<description><![CDATA[<p>Muitos sites, portais, adotaram o banner flutuante, aquele no qual ao você passar o mouse por cima ele &#8220;cresce&#8221; pela página e mostra os detalhes da propaganda, promoções, etc.</p> <p>A idéia então consiste em posicionar o filme por cima dos outros elementos e ele tem que ter o fundo transparente para não &#8220;tampar&#8221; o conteúdo.</p> [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Muitos sites, portais, adotaram o banner flutuante, aquele no qual ao você passar o mouse por cima ele &#8220;cresce&#8221; pela página e mostra os detalhes da propaganda, promoções, etc.</p>
<p>A idéia então consiste em posicionar o filme por cima dos outros elementos e ele tem que ter o fundo transparente para não &#8220;tampar&#8221; o  conteúdo.</p>
<p>Então chegamos a <strong>conclusão</strong> que é só deixar o filme com o fundo <strong>transparente</strong> e colocá-lo numa <strong>div</strong> com <strong>position absolute</strong>? Certo.</p>
<p>Primeiramente vamos ao SWF, no Flash crie um novo documento. Nesse exemplo eu criei um de tamanho 468&#215;280.</p>
<p>No primeiro frame coloque a action <strong>stop()</strong> para o filme não começar sozinho.</p>
<p>Desenhei um retângulo que cobre todo o palco na horizontal e com altura de 60 pixels. Dupliquei ele (copia e cola) e apertei o F8 para transformá-lo em um MovieClip. Ele vai ser o nosso botão para quando passar o mouse dar o p<strong>lay()</strong> no filme.</p>
<p>Instanciei de <strong>btn</strong> e apliquei o alpha para 0%, para deixar ele transparente. E adicionei no primeiro frame a seguinte action:</p>
<pre name="code" class="javascript">
btn.onRollOver = function() {
    _root.gotoAndPlay(2);
}
</pre>
<p>Com essa action definimos que ao <strong>passar o mouse sobre</strong> o botão (<strong>btn</strong>) o filme irá para seguir a partir do segundo frame.</p>
<p>E no frame 2 em diante fiz uma animação simple para dar impressão do fundo estar crescendo para baixo. No último frame da animação também adicionei a action <strong>stop();</strong> para o filme não voltar para o primeiro frame.</p>
<p>Também temos que colocar uma action para ao tirar o mouse (rolar fora) do botão a animação ir e parar no primeiro frame. E também uma para quando clicar. Essa action pode ser colocada no primeiro frame também.</p>
<pre name="code" class="javascript">
btn.onRollOut = function() {
    _root.gotoAndStop(1);
}

btn.onRelease = function() {
    getURL("http://rogeriolino.com/", "_blank");
}
</pre>
<p>Na primeira faz com que ao tirar o mouse de cima do botão volte para o primeiro frame mas não continua o filme (stop). Na segunda tem a função <strong>getURL() </strong>que funciona como a tag &lt;a&gt; no html, seus parâmetros são: página/endereço e alvo/target (<em>_blank = nova página / _self = mesma página / _parent = pai do frame</em>).</p>
<p>Com a nossa animação pronta vamos ao HTML:</p>
<p>Vamos colocar o SWF dentro de uma <strong>div</strong> chamada<strong> banner</strong>:</p>
<pre name="code" class="html">
&lt;div id="banner"&gt;
    &lt;object type="application/x-shockwave-flash" data="banner.swf" width="480" height="280"&gt;
    &lt;param name="movie" value="banner.swf" /&gt;
    &lt;param name="allowScriptAcess" value="sameDomain" /&gt;
    &lt;param name="wmode" value="transparent" /&gt;
    &lt;param name="quality" value="best" /&gt;
&lt;/object&gt;
&lt;/div&gt;
</pre>
<p>E o nosso CSS:</p>
<pre name="code" class="css">
#banner {
    margin-left: 250px;
    _margin-left: 10px;
    padding: 20px;
    position: absolute;
}
</pre>
<p>O <strong>hack</strong> na margin é por causa do <strong>IE</strong>.</p>
<p>E pronto, já podemos ver nossa <a title="Banner Flutuante" href="http://www17.brinkster.com/chivalrous/exemplos/banner_flutuante/banner_flutuante.html" target="_blank">propaganda flutuante funcionando</a>. <a title="Download do exemplo" href="http://www17.brinkster.com/chivalrous/exemplos/banner_flutuante/banner_flutuante.rar">Download do exemplo</a>.</p>
<div class="shr-publisher-74"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F02%2F04%2Fflash-banner-flutuante%2F' data-shr_title='Flash+e+CSS%3A+Banner+Flutuante'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F02%2F04%2Fflash-banner-flutuante%2F' data-shr_title='Flash+e+CSS%3A+Banner+Flutuante'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F02%2F04%2Fflash-banner-flutuante%2F' data-shr_title='Flash+e+CSS%3A+Banner+Flutuante'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/02/04/flash-banner-flutuante/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Flash: startDrag() e stopDrag()</title>
		<link>http://rogeriolino.com/2007/01/29/flash-startdrag-e-stopdrag/</link>
		<comments>http://rogeriolino.com/2007/01/29/flash-startdrag-e-stopdrag/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 17:34:33 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[arrastavel]]></category>
		<category><![CDATA[draggable]]></category>
		<category><![CDATA[flutuante]]></category>
		<category><![CDATA[janela]]></category>
		<category><![CDATA[movieclip]]></category>
		<category><![CDATA[startdrag]]></category>
		<category><![CDATA[stopdrag]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/01/29/flash-startdrag-e-stopdrag/</guid>
		<description><![CDATA[<p>Aproveitando o post anterior sobre uma div arrastável usando Javascript. Vamos ver agora como seria feito uma janela também arrastável só que no Flash.</p> <p>Primeiro de tudo é desenharmos nossa janela, ela será divida da seguinte maneira:</p> <p>janela (MovieClip Principal)<br /> &#124;&#8211; barra;<br /> &#124;&#8211; minimax;<br /> &#124;&#8211; fechar;<br /> \&#8211; conteudo.</p> <p>Use as ferramentas [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Aproveitando o post anterior sobre uma div arrastável usando Javascript. Vamos ver agora como seria feito uma janela também arrastável só que no Flash.</p>
<p>Primeiro de tudo é desenharmos nossa janela, ela será divida da seguinte maneira:</p>
<blockquote><p><strong>janela</strong> (MovieClip Principal)<br />
|&#8211; <strong>barra</strong>;<br />
|&#8211; <strong>minimax</strong>;<br />
|&#8211; <strong>fechar</strong>;<br />
\&#8211; <strong>conteudo</strong>.</p></blockquote>
<p>Use as ferramentas de desenho para construir a janela, mas deixe os desenhos separados como mostrado acima. Se você ainda não está familiarizado<a href="http://rogeriolino.wordpress.com/2006/09/06/flash-8-para-quem-esta-comecando-1/" title="Flash 8 Para quem está começando #1"> leia este post primeiro</a>.</p>
<p>A minha janela ficou assim:</p>
<p><img src="http://rogeriolino.files.wordpress.com/2007/01/janela.gif" alt="Desenho da Janela" /></p>
<p>Aonde cada parte (desenho) é um MovieClip diferente, para <strong>transformar</strong> o seu <strong>desenho</strong> em <strong>MovieClip</strong> selecione ele aperte <strong>F8</strong> coloque o nome do MC e verifique se o <strong>radiobutton MovieClip</strong> realmente está marcado.</p>
<p>Após criado o Movie devemos instanciâ-lo, para isso clique nele e vá na aba <strong>Propriedades</strong> (<strong>CTRL+F3</strong>), preencha o campo instância (siga os nomes definidos acima).</p>
<p>Com os quatros MovieClips prontos (<strong>barra</strong>, <strong>minimax</strong>, <strong>fechar</strong> e <strong>conteudo</strong>) selecione-os e aperte novamente <strong>F8</strong> para transformá-los no nosso <strong>MC janela</strong>.</p>
<p>Caso você queira editar algum movie ou apenas posicionar melhor, dê um duplo clique nele e poderá navegar através dos demais que estão contidos nele.</p>
<p>Agora com os MCs criados e instanciados, vamos às <strong>actions</strong>:</p>
<p>Clique no <strong>frame principal</strong> (o primeiro frame da timeline) e aperte <strong>F9</strong>. Cole o código abaixo:</p>
<pre name="code" class="js">
this.janela.barra.onPress = function() {
    this._parent.startDrag();
}

this.janela.barra.onRelease = function() {
    this._parent.stopDrag();
}

this.janela.fechar.onRelease = function() {
    this._parent._visible = false;
}

this.abrir.onRelease = function() {
    this._parent.janela._visible = true;
}

this.janela.minimax.onRelease = function() {
    this._parent.conteudo._visible = !this._parent.conteudo._visible;
}
</pre>
<p>Ao contrário do Javascript e das versões bem mais antigas (até a 5) do Flash não é necessário um método para pegar um alvo. Você mostra o caminha para se chegar nele a partir do palco (_root sempre para raiz, ou this este filme &#8211; isso ficará mais claro quando aprendermos sobre carregar filme externo).</p>
<p>Por exemplo o movie<strong> fechar</strong> está no dentro do MC<strong> janela</strong> que por sua vez está no palco, então: <strong>this.janela.fechar</strong>. E se você estiver em um MC (fehcar por exemplo) e queira acessar o seu pai (janela), fica assim: <strong>this._parent</strong>.</p>
<p>Repare no código que a lógica é a mesma, porém no Flash tem um método nativo para realiza esse arrastar (<strong>startDrag()</strong>) e um para parar esse arrastar (<strong>stopDrag()</strong>). O que no HTML temos que fazer na mão mesmo.</p>
<p>O que reduz e muito o código final. Agora é só testar (CTRL+ENTER).</p>
<p>Para ver o <a href="http://www17.brinkster.com/chivalrous/exemplos/flash_drag/flash_drag.html" title="startDrag()" target="_blank">exemplo clique aqui</a>.</p>
<div class="shr-publisher-70"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F29%2Fflash-startdrag-e-stopdrag%2F' data-shr_title='Flash%3A+startDrag%28%29+e+stopDrag%28%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F29%2Fflash-startdrag-e-stopdrag%2F' data-shr_title='Flash%3A+startDrag%28%29+e+stopDrag%28%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F29%2Fflash-startdrag-e-stopdrag%2F' data-shr_title='Flash%3A+startDrag%28%29+e+stopDrag%28%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/01/29/flash-startdrag-e-stopdrag/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Javascript: Draggable Window</title>
		<link>http://rogeriolino.com/2007/01/25/javascript-draggable-window/</link>
		<comments>http://rogeriolino.com/2007/01/25/javascript-draggable-window/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 23:11:33 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[arrastavel]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[draggable]]></category>
		<category><![CDATA[flutuante]]></category>
		<category><![CDATA[janela]]></category>
		<category><![CDATA[window]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/01/25/javascript-draggable-window/</guid>
		<description><![CDATA[<p>Tem algum tempo já que estava de bobeira e acabei fazendo um exemplo de uma div (janela) arrastável.</p> <p>Simulei uma janela padrão em alguns Sistemas Operacionais, tem a barra superior com o título da janela, o espaço ao centro para o conteúdo e uma barra no final, a statusbar (essa só para incrementar mesmo).</p> <p>Há [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Tem algum tempo já que estava de bobeira e acabei fazendo um <strong>exemplo</strong> de uma <strong>div</strong> (janela) <strong>arrastável</strong>.</p>
<p>Simulei uma janela padrão em alguns Sistemas Operacionais, tem a barra superior com o título da janela, o espaço ao centro para o conteúdo e uma barra no final, a statusbar (essa só para incrementar mesmo).</p>
<p>Há nela também três opções: &#8220;<strong>minimizar/maximizar</strong>&#8220;,  &#8220;<strong>esconder</strong>&#8221; e &#8220;<strong>fechar</strong>&#8220;.</p>
<p>Na opção &#8220;minimizar&#8221; é alterado a propriedade <strong>display</strong> do <strong>CSS</strong> da parte do conteúdo para <strong>none</strong>. Voltando para <strong>block</strong> com &#8220;maximizar&#8221;.</p>
<p>O &#8220;esconder&#8221; além de aproveitar a função para &#8220;minimizar&#8221; também altera o <strong>display</strong> da <strong>statusbar</strong> para <strong>none</strong>. E seta a <strong>posição</strong> da janela para a <strong>origem</strong> da tela (<strong>left</strong>:0 e <strong>top</strong>: 0).</p>
<p>E o &#8220;fechar&#8221; por sua vez altera a propriedade do <strong>visibility</strong> do CSS da  janela toda para <strong>hidden</strong>. E no palco tem uma opção para (re)<strong>abrir</strong> a janela, que altera o <strong>visibility</strong> para <strong>visible</strong>.</p>
<p>O porquê de usar visibility para &#8220;fechar&#8221; a janela é porque não queremos mudar o comportamento da janela, como ela é vista, e sim só sumir, torná-la invisível. O mesmo não funcionaria muito bem com o conteúdo porque fazendo ele só sumir ainda ficaria o seu &#8220;espaço guardado&#8221; fazendo apenas o conteúdo ficar invisível ao invéz da janela realmente minimizar.</p>
<p>Ao arrastar a janela também é <strong>alterado</strong> o <strong>cursor</strong>, mudando para <strong>move</strong>. O que caracteriza melhor a janela sendo arrastada.</p>
<p>Qualquer dúvida é só deixar no comentário.</p>
<p><a href="http://www17.brinkster.com/chivalrous/exemplos/drag/drag.html" title="Exemplo funcionando" target="_blank">Exemplo: Draggable Window </a></p>
<p><a href="http://www17.brinkster.com/chivalrous/exemplos/drag/script/drag.js" title="Código Javascript do exemplo" target="_blank">Source: Draggable Window</a></p>
<div class="shr-publisher-69"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F25%2Fjavascript-draggable-window%2F' data-shr_title='Javascript%3A+Draggable+Window'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F25%2Fjavascript-draggable-window%2F' data-shr_title='Javascript%3A+Draggable+Window'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F25%2Fjavascript-draggable-window%2F' data-shr_title='Javascript%3A+Draggable+Window'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/01/25/javascript-draggable-window/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>

