Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tamires

texto dinamico que anda

Recommended Posts

ola...tentei fazer um campo de texto dinamico aonde o texto fica passando tipo marquee. não consegui fazer funcionar, alguem pode me dar uma ajuda? um tutorial, alguma coisa? tentei usar alguns exemplos de marquee do ponto flash mas nao to conseguindo...agradeco desde jagratatamires

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o campo de texto for dinamico, você cria um movieclip e dentro dele você pode colocar esse texto dentro de um movieclip e colocar o autoSize do campo de texto pra true, dai com o duplicate movieclip você vai criar um texto ao lado do outro, o ideal seria você colocar um espaço antes e depois do texto, por exemplo:

 

mc1.campo1.autoSize = true;

mc1.campo1.text = " " + sua variavel + " ";

// depois de duplicar o movieclip

mc2._x = mc1._x + mc1._width;

mc2.campo1.text = mc1.campo1.text;

 

dai é só fazer um onEnterFrame no movieclip que contem os outros dois mcs com texto, fazendo com que ele perca o _x (_x --)

 

dai com um if você ve se quando a posição em _x dele for menor do que -(mc_grande._width / 2) ele volta pra 0, isso cria um loop e ta criado o seu marquee.

 

qquer dúvida poste ai denovo.

 

abraço,

 

Carneirinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se ta certo

coloquei td o codigo dentro do 1o frame do mc (chamei ele de texto)

antes d eu coloca o onEnterFrame, aparecia a noticia parada, agora n aparece nd :/

 

var a:LoadVars = new LoadVars();a.load('noticiasport.php');a.onLoad = function(){noticias.autoSize = true;noticias.text = " " + a.noticia + " ";var novo_texto:MovieClip = texto.duplicateMovieClip("texto" + 1, 1);	novo_texto._x = 1 * 2;	novo_texto._x = texto._x + texto._width;novo_texto.noticias.text = texto.noticias.text;onEnterFrame(_x (_x --))if (novo_texto._x < novo_texto._width / 2){novo_texto._x=0;}		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz umas modificacoes mas continua parado...

 

var a:LoadVars = new LoadVars();a.load('noticiasport.php');a.onLoad = function(){texto.noticias.autoSize = true;texto.noticias.text = " " + a.noticia + " ";texto.duplicateMovieClip(novo_texto, 1);	novo_texto._x = texto._x + texto._width;novo_texto.noticias.text = texto.noticias.text;onEnterFrame(_x (_x --))if (texto._x < novo_texto._width / 2){texto._x=0;}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tamires, você quase acertou, o que falta é você colocar os dois movieclips com o texto dentro, dentro de outro movieclip, porque assim você movimentando um movieclip, você acaba movimentando os dois, e o if só serve para criar um loop desse marquee, como não tenho seu php, eu criei uma variavel no loadVars e inseri o texto através dela, você deve então colocar um movieclip no palco com o nome de instancia de "campo", dentro desse campo ouitro movieclip com o nome de "texto" e dentro do movieclip texto um campo de texto dinamico com a instancia "noticias", ambos sem aspas. dai você coloca essa action no primeiro frame que vai funcionar:

 

var a:LoadVars = new LoadVars();

a.noticia = "teste de algum texto porai";

//a.load('noticiasport.php');

//a.onLoad = function(){

campo.texto.noticias.autoSize = true;

campo.texto.noticias.text = " " + a.noticia + " ";

 

campo.texto.duplicateMovieClip("novo_texto", 1);

campo.texto._x = campo.texto._x + campo.texto._width;

 

 

campo.novo_texto.noticias.text = campo.texto.noticias.text;

 

onEnterFrame = function(){

if (campo._x < -(campo.texto.noticias._width))

{

campo._x = -2;

} else {

campo._x --;

}

}

//}

 

é só descomentar o que comentei acima e apagar a linha a.noticia = "teste de algum texto porai"; que o flash volta a pegar os dados do seu php, fiz aqui um arquivo de exemplo na pressa pra você ver como é isso funcionando, é só baixar, qquer dúvida poste ai novamente.

 

LINK

 

abraço,

 

Carneirinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

oie!funcionou! aeee brigada :)so que continuo com um probleminha...ele esta cortando o texto q esta vindo do banco :/!por que será q isso acontece?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, ai precisa ver o que você ta mandando no texto, tem alguns caracteres que porem quebrar o texto, como o & por exemplo indicaria o final ou começo de uma variavel que está tentando passar, cola ai o texto que ta vindo do bd ou que deveria vir, pra ver o que ta acontecendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

abrindo a pg em php direto do browser, vem isso:

 

O CD CONTROVENTO EM PRÉ-LANÇAMENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEM

 

no flash ta mostrando assim:

 

O CD CONTROVENTO EM

 

so q eu acho q o problema é realmente o número de caracteres, pois eu aumentei o espaco vazio no comeco para o texto comecar la do final da barra de texto. e conforme eu aumentava esse espaco, ele comia mais caracteres do texto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no flash a exibicao estava sendo exibida corretamenteeu estava usando echo utf8_encode()deixei so o echo e depois tentei com o print_r e nao fez diferenca:O CD CONTROVENTO EM PRÉ-LANÇAMENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEMe no flash continua cortando os caracteres e acentuando corretamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não moça, você tem no caso que usar o decode, não o encode, olha o exemplo:

 

$msg = "O CD CONTROVENTO EM PRÉ-LANÇAMENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEM";
$teste = utf8_decode($msg);
echo $teste;

Isso vai retornar a frase "O CD CONTROVENTO EM PRÉ-LANÇAMENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEM"

 

testa ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito legal esse esqueminha!

só nao entendi uma coisa:

como que eu colocaria mais textos?

seria adicionando as seguintes linhas?

 

a.noticia = "teste de algum texto porai";

a.noticia2 = "teste de algum texto porai";

a.noticia3 = "teste de algum texto porai";

 

mas ai eu não achei essa instancia "noticia".

 

mto burra, eu?

 

--------------

e carneirinho, adoro sua assinatura! =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola, carneirinho!troquei o encode por decode, agora ele imprimiu no browser assim:&noticia=O CD CONTROVENTO EM PR?LAN?MENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEMso que agora no flash ele está imprimindo assim também:&noticia=O CD CONTROVENTO EM PR?LAN?MENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEMantes não estava...e continua a cortar caracteres!

Compartilhar este post


Link para o post
Compartilhar em outros sites

claro:php

mysql_select_db($database_con_mafalda, $con_mafalda);$query_rsnoticias = "SELECT * FROM noticias WHERE noticias.lingua_not LIKE 'port' and id_not = 1"; $rsnoticias = mysql_query($query_rsnoticias, $con_mafalda) or die(mysql_error());$row_rsnoticias = mysql_fetch_array($rsnoticias);$totalRows_rsnoticias = mysql_num_rows($rsnoticias);//inicio$dados = ''; // $nLoop++ .$dados .= '&noticia=' . $row_rsnoticias['noticia_not'];echo utf8_decode($dados);//fim
conteudo no banco:

O CD CONTROVENTO EM PRÉ-LANÇAMENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEM

saida no browser:

&noticia=O CD CONTROVENTO EM PR?LAN?MENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEM

saida no swf:

O CD C

o esquisito eh que se eu clico em cima do texto e arrasto, ele puxa tudo:

O CD CONTROVENTO EM PR?LAN?MENTO EXCLUSIVO NO UOL MEGASTORE. APROVEITEM

e action script:
var a:LoadVars = new LoadVars();a.load('noticiasport.php');a.onLoad = function(){campo.texto.noticias.autoSize = true;						campo.texto.noticias.text = "																								" + a.noticia + "	  ";	  campo.texto.duplicateMovieClip("novo_texto", 1);campo.texto._x = campo.texto._x  + campo.texto._width;campo.novo_texto.noticias.text = campo.texto.noticias.text;onEnterFrame = function(){if (campo._x < -(campo.texto.noticias._width)){	campo._x = -2;} else {	campo._x --;}}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

oie

mexi aqui no action agora..tirei essas duas linhas:

campo.texto.duplicateMovieClip("novo_texto", 1);campo.texto._x = campo.texto._x  + campo.texto._width;
e ele ate funcionou...so q o loop nao fica tao perfeito, na 2a vez ja comeca no meio da barra. so receio q va dar algum problema, sera q isso poderia acontecer sem essa parte do codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, o erro ainda ta no seu php, perceba que você está usando o utf8_encode após concatenar todos os dados, tente usar assim e ve se da certo:

 

$nLoop++ .$dados .= '&noticia=' . utf8_decode($row_rsnoticias['noticia_not']);

echo $dados;

 

Ele tem que dar a saida do echo perfeitamente como está no banco de dados, depois passar isso pro flash pois alguns caracteres quebram a leitura da variavel que o flash está lendo, e a outra parte que tirou retorne com ela porque é justamente para ajustar o loop que duplico os campos de texto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oie!entao, testei aqui e continha quebrando mas acho q o problema eh no flash, por que ele não corta certinho assim: O CD CONmas ele corta o caracter na metade. ele mostra do metade do Ce quando uso o decode ele mostra assim:PR?-LAN?AMENTO

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola!resolvi esse problema...coloquei autosize para o novo movie clip, e funciono.so que se eu coloco um texto muito grande, ele corta na metade. existe alguma restricao pra quantidade de caracteres?e tem como controlar a velocidade dos textos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.