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.
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
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.