Preciso de uma pequena modificação numa animação flash que está no site da minha empresa, tenho uma animação de noticias que o seu conteúdo é alimentado por xml. Até ai tudo bem, só que animação vai movendo as noticias de cima para baixo, e eu quero o efeito contrario, que las iniciem de baixo para cima, que é a maneira mais logica de ler.
Pergunta
alemaodp
Bom Dia.
Preciso de uma pequena modificação numa animação flash que está no site da minha empresa, tenho uma animação de noticias que o seu conteúdo é alimentado por xml. Até ai tudo bem, só que animação vai movendo as noticias de cima para baixo, e eu quero o efeito contrario, que las iniciem de baixo para cima, que é a maneira mais logica de ler.
Desde já agradeço. Abraço.
Link da animação: http://www.qwerty.com.br/noticias.swf
Abaixo o código do Action Script:
stop();
//Carregar XML de noticias
noticias = new XML();
noticias.ignoreWhite = true;
noticias.onLoad = function (){
//Porcentagem carregadas e essas coisas
totalxml = noticias.getBytesTotal();
cargadoxml = noticias.getBytesLoaded();
porcentajexml = Math.round((cargadoxml/totalxml)*100);
//Se carregou tudo
if (porcentajexml >= 100) {
//apaga o carregando
removeMovieClip(cargando);
//Nos do XML
notis_puerto = new Array();
titulo = new Array();
urls = new Array();
//Pega o numero de noticias
long = noticias.firstChild.childNodes.length;
cargarCSS();
}
}
//Attachamos e posicionamos o "carregando xml"
attachMovie("carga_xml","cargando",2);
cargando._x = 45;
cargando._y = 94;
//Attachamos a linha de baixo de tudo
attachMovie("linea","linea_abajo",5000);
linea_abajo._x = 0;
linea_abajo._y = 329;
//link do XML
noticias.load("noticias.xml");
/*-------------------------------------------------------------------------------*/
/*--------------------- FUNCAO PARA CARREGAR O CSS -------------------------*/
/*-------------------------------------------------------------------------------*/
function cargarCSS(){
//Criamos a folha de estilo
estailo = new TextField.StyleSheet();
//Quando for carregado...
estailo.onLoad = function(){
//Porcentagem
totalcss = estailo.getBytesTotal();
cargadocss = estailo.getBytesLoaded();
porcentajecss = Math.round((cargadocss/totalcss)*100);
//Se carregou tudo
if (porcentajecss >= 100) {
//apaga o carregando
removeMovieClip(cargando2);
//Uma vez carregado o css já podemos saber quantas linhas tem em cada texto
//Criamos um clip e um campo de texto temporario
_root.createEmptyMovieClip("temp_mc", 7);
//No campo de texto iremos por o mesmo tamahno de largura que vai haver.
//coloco 16, que e o que mede uma linha. Assim
//podemos saber o número de linhas que teremos.
temp_mc.createTextField ("notis_txt",8,-150,-20,168,16);
//as propriedades do campo de texto novo
temp_mc.notis_txt.multiline = true;
temp_mc.notis_txt.wordWrap = true;
temp_mc.notis_txt.html = true;
for (i=0; i<long; i++){
//pega os titulos das noticias
titulo = noticias.firstChild.childNodes.attributes.titulo;
//pega as urls das noticias
urls = noticias.firstChild.childNodes.attributes.urls;
//pega o texto e colocamos na caixa de texto temporaria
temp_mc.notis_txt.htmlText = "<p class=tit'>"+titulo+"</p><br><p class='txt'>"+noticias.firstChild.childNodes.firstChild+"</p>";
//pegamos o numero de linhas por texto
notis_puerto = temp_mc.notis_txt.maxscroll-1;
}
//Eliminamos o clip temporario
removeMovieClip(_root["temp_mc]);
//Montamos as noticias
montarNoticias();
}
}
attachMovie("carga_css","cargando2",3);
cargando2._x = 45;
cargando2._y = 94;
estailo.load("noticias.css");
}
/*-------------------------------------------------------------------------------*/
/*--------------------- FUNCAO PARA MONTAR AS NOTICIAS -------------------*/
/*-------------------------------------------------------------------------------*/
function montarNoticias(){
par = true;
for (i=0; i<long; i++){
//ponho a caixa de txt
_root.attachMovie ("caja_info","caja"+i,i*10);
//Criamos a cor
_root["caja"+i].colorcaja = new Color(_root["caja"+i].fondo.fondocolor);
//damos uma altura igual a 16 pelo numero de linhas que tenha
_root["caja"+i].fondo._height = 16 * notis_puerto;
//Pintamos a caixa
if (par == true){
_root["caja"+i].colorcaja.setRGB(0xEEEEEE);
_root["caja"+i].micolor = "0xEEEEEE";
par = false;
}
else{
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
_root["caja"+i].micolor = "0xFFFFFF";
par = true;
}
//Se não existe altura, damos 0 e assim se posiciona a primera caixa
//em y=0
if (altura == undefined){
altura = 0;
}
//Se existe, damos uma altura igual, a:
//"altura acumulada" = "altura acumulada" + "altura anterior clip"
else{
altura = altura + _root["caja"+(i-1)].fondo._height;
}
//Posicionamos a caixa
_root["caja"+i]._x = 0;
_root["caja"+i]._y = altura;
//Criamos a caixa de texto e colocamos suas propriedades
_root["caja"+i].createTextField("texto_txt",i*37,2,1,168,16 * notis_puerto);
_root["caja"+i].texto_txt.html = true;
_root["caja"+i].texto_txt.multiline = true;
_root["caja"+i].texto_txt.wordWrap = true;
_root["caja"+i].texto_txt.border = false;
_root["caja"+i].texto_txt.selectable = false;
_root["caja"+i].direc_url = urls;
//Atachamos ao texto a folha CSS
_root["caja"+i].texto_txt.styleSheet = estailo;
//colocamos o titulo
_root["caja"+i].texto_txt.htmlText = "<p class='tit'>"+titulo+"</p><br>";
//colocamos o texto da noticia
_root["caja"+i].texto_txt.htmlText += "<p class='txt'>"+noticias.firstChild.childNodes.firstChild+"</p>";
}
attachMovie("pestana","pestanita",2000);
pestanita._x = 0;
pestanita._y = 0;
siguiente_y = 0;
y_arriba = 0;
//Posicionamos todos os clips por debaixo de 330 sobre 0
for (i=long; i>0; i--){
if (_root["caja"+i]._y > 330){
siguiente_y = siguiente_y - _root["caja"+i]._height + 1;
_root["caja"+i]._y = siguiente_y;
}
}
//Uma vez q esta todo montado movemos as noticias
moverNoticias();
}
/*-------------------------------------------------------------------------------*/
/*--------------------- FUNCAO PARA MOVER AS NOTICIAS --------------------*/
/*-------------------------------------------------------------------------------*/
function moverNoticias(){
//Se e a primera vez forçamos o movimento, se não comecam paradas as caixas
if (primera_vez == undefined){
//Criamos o evento e começam a mover as caixas
_root.onEnterFrame = function(){
for (i=0; i<long; i++){
//Se a caixa chega a abaixo de tudo
if (_root["caja"+i]._y > 330){
y_arriba = 0;
//Calculamos onde que posicionaremos o clip que chega abaixo
for (j=0; j<long; j++){
//Todos os clips que estejam por cima de 0
if (_root["caja"+j]._y < 0){
//pegamos a posicao e o que há mais acima
y_actual = _root["caja"+j]._y;
if (y_actual < y_arriba){
y_arriba = y_actual;
}
}
}
//posicionamos acima, sendo esta posicao:
//"y do clip atual" = "posicao do clip de mais abaixo" - "altura do clip atual" + 1;
_root["caja"+i]._y = y_arriba - _root["caja"+i]._height + 1;
}
//fazemos que vao baixando as caixas
_root["caja"+i]._y += 1;
}
}
primera_vez = false;
}
/***************************************************************************/
//"el_fondo" controla a cada fotograma se estamos ou não em cima das noticias
el_fondo.onEnterFrame = function(){
for (i=0; i<long; i++){
//Se clicamos na caixa, vamos na direcao "x"
_root["caja"+i].onPress = function(){
getURL (this.direc_url, "_blank");
}
//Se apontamos em cima da caixa, eliminamos o evento e para
_root["caja"+i].onRollOver = function(){
//Iluminar
this.colorcaja.setRGB(0xCDFBFE);
delete _root.onEnterFrame;
}
//Se nos saimos das caixas, começaa a mover outra vez
_root["caja"+i].onRollOut = function(){
//Pintamos a caixa com a cor anterior
this.colorcaja.setRGB(this.micolor);
//Criamos o evento e comeca a mover as caixas
_root.onEnterFrame = function(){
for (i=0; i<long; i++){
//Se a caixa chega abaixo de tudo
if (_root["caja"+i]._y > 330){
y_arriba = 0;
//Calculamos onde sera que ira posicionar o clip que chega abaixo
for (j=0; j<long; j++){
//Todos os clips que estejam por cima de 0
if (_root["caja"+j]._y < 0){
//pegamos a posicao e o que há mais acima
y_actual = _root["caja"+j]._y;
if (y_actual < y_arriba){
y_arriba = y_actual;
}
}
}
// posicionamos acima, sendo esta posicao:
//"y do clip atual" = "posicao do clip de mais acima" - "altura do clip atual" + 1;
_root["caja"+i]._y = y_arriba - _root["caja"+i]._height + 1;
}
//Fazemos que vao baixando as caixas
_root["caja"+i]._y += 1;
}
}
}
}
}
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.