Foros del Web » Creando para Internet » Flash y Actionscript »

Ayuda con news Ticker

Estas en el tema de Ayuda con news Ticker en el foro de Flash y Actionscript en Foros del Web. Que más foreros, otra vez recurriendo a su ayuda. me he estado pelando el coco intentando modicicar el siguiente código, pero no he logrado hacer ...
  #1 (permalink)  
Antiguo 04/09/2008, 14:19
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Pregunta Ayuda con news Ticker

Que más foreros, otra vez recurriendo a su ayuda.
me he estado pelando el coco intentando modicicar el siguiente código, pero no he logrado hacer que funcione como quisiera.

Código Original Flash:
Código PHP:
stop();

//Cargar XML de las noticias
noticias = new XML();
noticias.ignoreWhite true;
noticias.onLoad = function (){

    
//Porcentajes y esas cosas
    
totalxml noticias.getBytesTotal();
    
cargadoxml noticias.getBytesLoaded();
    
porcentajexml Math.round((cargadoxml/totalxml)*100);

    
//Si esta cargado del todo
    
if (porcentajexml >= 100) {
        
//Borramos el cargando
        
removeMovieClip(cargando);
        
        
//Shortcuts del XML
        
notis_puerto = new Array();
        
titulo = new Array();
        
urls = new Array();
        
        
//Cogemos el numero de noticias
        
long noticias.firstChild.childNodes.length;
        
        
cargarCSS();
    }
}

//Atacheamos y posicionamos el "cargando xml"
attachMovie("carga_xml","cargando",2);
cargando._x 45;
cargando._y 94;

//Atacheamos la linea de abajo del todo
attachMovie("linea","linea_abajo",5000);
linea_abajo._x 0;
linea_abajo._y 329;

//Atacheamos la caja de fondo

//Cargamos XML
noticias.load("ejemplo.xml");


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA CARGAR LA HOJA CSS    --------------------*/
/*-------------------------------------------------------------------------------*/
function cargarCSS(){
    
//Creamos la hoja de estilo
    
estailo = new TextField.StyleSheet();
    
    
//Cuando este cargando...
    
estailo.onLoad = function(){
        
        
//Porcentajes y esas cosas
        
totalcss estailo.getBytesTotal();
        
cargadocss estailo.getBytesLoaded();
        
porcentajecss Math.round((cargadocss/totalcss)*100);
    
        
//Si esta cargado del todo
        
if (porcentajecss >= 100) {
            
//Borramos el cargando
            
removeMovieClip(cargando2);
            
            
//Una vez esta cargada la CSS ya podemos saber cuantas lineas hay
            //por cada caja de texto
            
            //Creamos un clip y un campo de texto temporales
            
_root.createEmptyMovieClip("temp_mc"7);
            
            
//Al campo de texto le ponemos el mismo tamaño de ancho que va a haber en
            //el de verdad. Le ponemos alto 16, que es lo que mide una linea. Así 
            //podemos saber el número de líneas que tenemos.
            
temp_mc.createTextField ("notis_txt",8,-150,-20,260,16);
            
            
//Ponemos las propiedades a nuestro campo de texto nuevo
            
temp_mc.notis_txt.multiline true;
            
temp_mc.notis_txt.wordWrap true;
            
temp_mc.notis_txt.html true;
            
            for (
i=0i<longi++){
                
//Cogemos los titulos de las noticias
                
titulo[i] = noticias.firstChild.childNodes[i].attributes.titulo;
                
                
//Cogemos las urls de las noticias
                
urls[i] = noticias.firstChild.childNodes[i].attributes.urls;
    
                
//Cogemos el texto y lo ponemos en la caja de texto temporal
                
temp_mc.notis_txt.htmlText "<p class='tit'>"+titulo[i]+"</p><br><p class='txt'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
                
                
//Cogemos el numero de lineas por texto
                
notis_puerto[i] = temp_mc.notis_txt.maxscroll-1;
            }
            
//Eliminamos el clip temporal
            
removeMovieClip(_root["temp_mc"]);
            
//Montamos las noticias
            
montarNoticias();
        }

    }
    
attachMovie("carga_css","cargando2",3);
    
cargando2._x 45;
    
cargando2._y 94;
    
estailo.load("noticias.css");
}


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA MONTAR LAS NOTICIAS    -------------------*/
/*-------------------------------------------------------------------------------*/
function montarNoticias(){
    
par true;
    for (
i=0i<longi++){
        
//Ponemos la caja
        
_root.attachMovie ("caja_info","caja"+i,i*10);
        
//Creamos el color
        
_root["caja"+i].colorcaja = new Color(_root["caja"+i].fondo.fondocolor);
        
//Le damos una altura igual a 16 por el numero de lineas que tenga
        
_root["caja"+i].fondo._height 16 notis_puerto[i];
        
        
//Pintamos la caja
        
if (par == true){
            
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            
_root["caja"+i].micolor "0xFFFFFF";
            
par false;
        }
        else{
            
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            
_root["caja"+i].micolor "0xFFFFFF";
            
par true;
        }
        
        
//Si no existe altura, le damos 0 y asi se posiciona la primera caja
        //en y=0
        
if (altura == undefined){
            
altura 0;
        }
        
//Si existe, le damos una altura igual, a:
        //"altura acumulada" = "altura acumulada" + "altura anterior clip"
        
else{
            
altura altura _root["caja"+(i-1)].fondo._height;
        }
        
        
//Posicionamos la caja
        
_root["caja"+i]._x 0;
        
_root["caja"+i]._y altura;
        
        
//Creamos la caja de texto y ponemos sus propiedades
        
_root["caja"+i].createTextField("texto_txt",i*37,2,1,260,16 notis_puerto[i]);
        
_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[i];
        
        
//Atacheamos al texto la hoja CSS
        
_root["caja"+i].texto_txt.styleSheet estailo;
        
        
//Ponemos el titulo
        
_root["caja"+i].texto_txt.htmlText "<p class='tit'>"+titulo[i]+"</p><br>";

        
//Ponemos los textos de las noticias
        
_root["caja"+i].texto_txt.htmlText += "<p class='txt'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
    }
    
//Mostramos la pestañita
    
attachMovie("pestana","pestanita",2000);
    
pestanita._x 0;
    
pestanita._y 0;
    
    
siguiente_y 0;
    
y_arriba 0;
    
    
//Posicionamos todos los clips por debajo de 330 sobre 0
    //Empezamos por el ultimo y vamos subiendo
    
for (i=longi>0i--){
        if (
_root["caja"+i]._y 330){
            
siguiente_y siguiente_y _root["caja"+i]._height 1;
            
_root["caja"+i]._y siguiente_y;
        }
    }
    
    
//Una vez esta todo montado movemos las noticias
    
moverNoticias();
}

/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA MOVER LAS NOTICIAS    --------------------*/
/*-------------------------------------------------------------------------------*/
function moverNoticias(){
    
//Si es la primera vez forzamos el movimiento, si no empiezan paradas las cajas
    
if (primera_vez == undefined){
        
//Creamos el evento y se empiezan a mover las cajas
        
_root.onEnterFrame = function(){
            
            for (
i=0i<longi++){
                
//Si la caja llega a abajo del todo
                
if (_root["caja"+i]._y 330){
                    
y_arriba 0;
                    
                    
//Calculamos donde hay que posicionar el clip que llega abajo
                    
for (j=0j<longj++){
                        
//Todos los clips que esten por encima de 0
                        
if (_root["caja"+j]._y 0){
                            
//Cogemos la posicion y que haya mas arriba
                            
y_actual _root["caja"+j]._y;
                            if (
y_actual y_arriba){
                                
y_arriba y_actual;
                            }
                        }
                    }
                    
//Lo posicionamos arriba, siendo esta posicion:
                    //"y del clip actual" = "posicion del clip de mas arriba" - "altura del clip actual" + 1;
                    
_root["caja"+i]._y y_arriba _root["caja"+i]._height 1;
                }
                
//Hacemos que vayan bajando las cajas
                
_root["caja"+i]._y += 1;
            }
        }
        
primera_vez false;
    }
    
/***************************************************************************/
    
    
    //"el_fondo" controla a cada fotograma si estamos o no encima de las noticias
    
el_fondo.onEnterFrame = function(){
        for (
i=0i<longi++){
            
//Si clicamos en la caja, vamos a la direccion "x"
            
_root["caja"+i].onPress = function(){
                
getURL (this.direc_url"_parent");
            }
            
//Si nos ponemos encima de la caja, eliminamos el evento y se para
            
_root["caja"+i].onRollOver = function(){
                
//Iluminar
                
this.colorcaja.setRGB(0xF3FBFE);
                
delete _root.onEnterFrame;
            }
            
//Si nos salimos de las cajas, se empieza a mover otra vez
            
_root["caja"+i].onRollOut = function(){
                
//Pintamos la caja con el color anterior
                
this.colorcaja.setRGB(this.micolor);
                
                
//Creamos el evento y se empiezan a mover las cajas
                
_root.onEnterFrame = function(){
                    
                    for (
i=0i<longi++){
                        
//Si la caja llega a abajo del todo
                        
if (_root["caja"+i]._y 330){
                            
y_arriba 0;
                            
                            
//Calculamos donde hay que posicionar el clip que llega abajo
                            
for (j=0j<longj++){
                                
//Todos los clips que esten por encima de 0
                                
if (_root["caja"+j]._y 0){
                                    
//Cogemos la posicion y que haya mas arriba
                                    
y_actual _root["caja"+j]._y;
                                    if (
y_actual y_arriba){
                                        
y_arriba y_actual;
                                    }
                                }
                            }
                            
//Lo posicionamos arriba, siendo esta posicion:
                            //"y del clip actual" = "posicion del clip de mas arriba" - "altura del clip actual" + 1;
                            
_root["caja"+i]._y y_arriba _root["caja"+i]._height 1;
                        }
                        
//Hacemos que vayan bajando las cajas
                        
_root["caja"+i]._y += 1;
                    }
                }
            }
        }
    }

Continua »
  #2 (permalink)  
Antiguo 04/09/2008, 14:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: Ayuda con news Ticker

Continuación »

ejemplo.xml
Código HTML:
<?xml version="1.0" encoding="iso-8859-1"?>

<noticias>
	<puerto titulo="Noticia01" urls="#">
	Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto.
	</puerto>
	<puerto titulo="Noticia02" urls="#">Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto
	</puerto>
	<puerto titulo="Noticia03" urls="#">Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto
	</puerto>
</noticias> 
esto funciona a las mil maravillas, pero necesito de una modificación que es la que no he conseguido realizar; la idea es que al lado de CADA noticia aparezca una pequeña imagen.

Pero lo único que he conseguido es que aparezca una imágen sobre todas las noticias.

Continua »
  #3 (permalink)  
Antiguo 04/09/2008, 14:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: Ayuda con news Ticker

Continuación »

código modificado Flash:
Código PHP:
stop();

//Cargar XML de las noticias
noticias = new XML();
noticias.ignoreWhite true;
noticias.onLoad = function (){

    
//Porcentajes y esas cosas
    
totalxml noticias.getBytesTotal();
    
cargadoxml noticias.getBytesLoaded();
    
porcentajexml Math.round((cargadoxml/totalxml)*100);

    
//Si esta cargado del todo
    
if (porcentajexml >= 100) {
        
//Borramos el cargando
        
removeMovieClip(cargando);
        
        
//Shortcuts del XML
        
notis_puerto = new Array();
        
titulo = new Array();
        
urls = new Array();
        
img = new Array();
        
//Cogemos el numero de noticias
        
long noticias.firstChild.childNodes.length;
        
        
cargarCSS();
    }
}

//Atacheamos y posicionamos el "cargando xml"
attachMovie("carga_xml","cargando",2);
cargando._x 45;
cargando._y 94;

//Atacheamos la linea de abajo del todo
attachMovie("linea","linea_abajo",5000);
linea_abajo._x 0;
linea_abajo._y 329;

//Atacheamos la caja de fondo

//Cargamos XML
noticias.load("ejemplo.php");


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA CARGAR LA HOJA CSS    --------------------*/
/*-------------------------------------------------------------------------------*/
function cargarCSS(){
    
//Creamos la hoja de estilo
    
estailo = new TextField.StyleSheet();
    
    
//Cuando este cargando...
    
estailo.onLoad = function(){
        
        
//Porcentajes y esas cosas
        
totalcss estailo.getBytesTotal();
        
cargadocss estailo.getBytesLoaded();
        
porcentajecss Math.round((cargadocss/totalcss)*100);
    
        
//Si esta cargado del todo
        
if (porcentajecss >= 100) {
            
//Borramos el cargando
            
removeMovieClip(cargando2);
            
            
//Una vez esta cargada la CSS ya podemos saber cuantas lineas hay
            //por cada caja de texto
            
            //Creamos un clip y un campo de texto temporales
            
_root.createEmptyMovieClip("temp_mc"7);
            
            
//Al campo de texto le ponemos el mismo tamaño de ancho que va a haber en
            //el de verdad. Le ponemos alto 16, que es lo que mide una linea. Así 
            //podemos saber el número de líneas que tenemos.
            
temp_mc.createTextField ("notis_txt",8,-150,-20,260,16);
            
            
//Ponemos las propiedades a nuestro campo de texto nuevo
            
temp_mc.notis_txt.multiline true;
            
temp_mc.notis_txt.wordWrap true;
            
temp_mc.notis_txt.html true;
            
            for (
i=0i<longi++){
                
//Cogemos los titulos de las noticias
                
titulo[i] = noticias.firstChild.childNodes[i].attributes.titulo;
                
                
//Cogemos las urls de las noticias
                
urls[i] = noticias.firstChild.childNodes[i].attributes.urls;

                
//Cogemos las imagenes de las noticias
                
img[i] = noticias.firstChild.childNodes[i].attributes.img;

                
_root.createEmptyMovieClip("diapo"+ii+100);
                
// --  cargo la imáen el clip vacio
                
item _root["diapo"+i];
                
                
//Cogemos el texto y lo ponemos en la caja de texto temporal
                
temp_mc.notis_txt.htmlText "<p class='tit'>"+titulo[i]+"</p><br><p class='txt'>"+item.loadMovie(img[i])+""+noticias.firstChild.childNodes[i].firstChild+"</p>";
                
                
//Cogemos el numero de lineas por texto
                
notis_puerto[i] = temp_mc.notis_txt.maxscroll-1;
            }
            
//Eliminamos el clip temporal
            
removeMovieClip(_root["temp_mc"]);
            
//Montamos las noticias
            
montarNoticias();
        }

    }
    
attachMovie("carga_css","cargando2",3);
    
cargando2._x 45;
    
cargando2._y 94;
    
estailo.load("noticias.css");
}


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA MONTAR LAS NOTICIAS    -------------------*/
/*-------------------------------------------------------------------------------*/
function montarNoticias(){
    
par true;
    for (
i=0i<longi++){
        
//Ponemos la caja

        
_root.attachMovie ("caja_info","caja"+i,i*10);
        
//Creamos el color
        
_root["caja"+i].colorcaja = new Color(_root["caja"+i].fondo.fondocolor);
        
//Le damos una altura igual a 16 por el numero de lineas que tenga
        
_root["caja"+i].fondo._height 16 notis_puerto[i];
        
        
//Pintamos la caja
        
if (par == true){
            
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            
_root["caja"+i].micolor "0xFFFFFF";
            
par false;
        }
        else{
            
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            
_root["caja"+i].micolor "0xFFFFFF";
            
par true;
        }
        
        
//Si no existe altura, le damos 0 y asi se posiciona la primera caja
        //en y=0
        
if (altura == undefined){
            
altura 0;
        }
        
//Si existe, le damos una altura igual, a:
        //"altura acumulada" = "altura acumulada" + "altura anterior clip"
        
else{
            
altura altura _root["caja"+(i-1)].fondo._height;
        }
        
        
//Posicionamos la caja
        
_root["caja"+i]._x 0;
        
_root["caja"+i]._y altura;
        
        
//Creamos la caja de texto y ponemos sus propiedades
        
_root["caja"+i].createTextField("texto_txt",i*37,2,1,260,16 notis_puerto[i]);
        
_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[i];
        
        
//Atacheamos al texto la hoja CSS
        
_root["caja"+i].texto_txt.styleSheet estailo;
        
        
//Ponemos el titulo
        
_root["caja"+i].texto_txt.htmlText "<p class='tit'>"+titulo[i]+"</p><br>";

        
//Ponemos los textos de las noticias
        
_root["caja"+i].texto_txt.htmlText += "<p class='txt'>"+item.loadMovie(img[i])+""+noticias.firstChild.childNodes[i].firstChild+"</p>";
    }
    
//Mostramos la pestañita
    
attachMovie("pestana","pestanita",2000);
    
pestanita._x 0;
    
pestanita._y 0;
    
    
siguiente_y 0;
    
y_arriba 0;
    
    
//Posicionamos todos los clips por debajo de 330 sobre 0
    //Empezamos por el ultimo y vamos subiendo
    
for (i=longi>0i--){
        if (
_root["caja"+i]._y 330){
            
siguiente_y siguiente_y _root["caja"+i]._height 1;
            
_root["caja"+i]._y siguiente_y;
        }
    }
    
    
//Una vez esta todo montado movemos las noticias
    
moverNoticias();
}

/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA MOVER LAS NOTICIAS    --------------------*/
/*-------------------------------------------------------------------------------*/
function moverNoticias(){
    
//Si es la primera vez forzamos el movimiento, si no empiezan paradas las cajas
    
if (primera_vez == undefined){
        
//Creamos el evento y se empiezan a mover las cajas
        
_root.onEnterFrame = function(){
            
            for (
i=0i<longi++){
                
//Si la caja llega a abajo del todo
                
if (_root["caja"+i]._y 330){
                    
y_arriba 0;
                    
                    
//Calculamos donde hay que posicionar el clip que llega abajo
                    
for (j=0j<longj++){
                        
//Todos los clips que esten por encima de 0
                        
if (_root["caja"+j]._y 0){
                            
//Cogemos la posicion y que haya mas arriba
                            
y_actual _root["caja"+j]._y;
                            if (
y_actual y_arriba){
                                
y_arriba y_actual;
                            }
                        }
                    }
                    
//Lo posicionamos arriba, siendo esta posicion:
                    //"y del clip actual" = "posicion del clip de mas arriba" - "altura del clip actual" + 1;
                    
_root["caja"+i]._y y_arriba _root["caja"+i]._height 1;
                }
                
//Hacemos que vayan bajando las cajas
                
_root["caja"+i]._y += 1;
            }
        }
        
primera_vez false;
    }
    
/***************************************************************************/
    
    
    //"el_fondo" controla a cada fotograma si estamos o no encima de las noticias
    
el_fondo.onEnterFrame = function(){
        for (
i=0i<longi++){
            
//Si clicamos en la caja, vamos a la direccion "x"
            
_root["caja"+i].onPress = function(){
                
getURL (this.direc_url"_parent");
            }
            
//Si nos ponemos encima de la caja, eliminamos el evento y se para
            
_root["caja"+i].onRollOver = function(){
                
//Iluminar
                
this.colorcaja.setRGB(0xF3FBFE);
                
delete _root.onEnterFrame;
            }
            
//Si nos salimos de las cajas, se empieza a mover otra vez
            
_root["caja"+i].onRollOut = function(){
                
//Pintamos la caja con el color anterior
                
this.colorcaja.setRGB(this.micolor);
                
                
//Creamos el evento y se empiezan a mover las cajas
                
_root.onEnterFrame = function(){
                    
                    for (
i=0i<longi++){
                        
//Si la caja llega a abajo del todo
                        
if (_root["caja"+i]._y 330){
                            
y_arriba 0;
                            
                            
//Calculamos donde hay que posicionar el clip que llega abajo
                            
for (j=0j<longj++){
                                
//Todos los clips que esten por encima de 0
                                
if (_root["caja"+j]._y 0){
                                    
//Cogemos la posicion y que haya mas arriba
                                    
y_actual _root["caja"+j]._y;
                                    if (
y_actual y_arriba){
                                        
y_arriba y_actual;
                                    }
                                }
                            }
                            
//Lo posicionamos arriba, siendo esta posicion:
                            //"y del clip actual" = "posicion del clip de mas arriba" - "altura del clip actual" + 1;
                            
_root["caja"+i]._y y_arriba _root["caja"+i]._height 1;
                        }
                        
//Hacemos que vayan bajando las cajas
                        
_root["caja"+i]._y += 1;
                    }
                }
            }
        }
    }

Continua »
  #4 (permalink)  
Antiguo 04/09/2008, 14:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: Ayuda con news Ticker

Continuación »

XML modificado:
Código HTML:
<?xml version="1.0" encoding="iso-8859-1"?>

<noticias>
	<puerto titulo="Noticia01" urls="#" img="mj_smart.jpg">
	Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto.
	</puerto>
	<puerto titulo="Noticia02" urls="#" img="mj_smart.jpg">Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto
	</puerto>
	<puerto titulo="Noticia03" urls="#" img="mj_smart.jpg">Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto Texto
	</puerto>
</noticias> 
como ven, si pegan el código en algun fotograma, he modificado las líneas 92 94 97 y 173

Espero me puedan ayudar.

PD: en su defecto me sirve cualquier ejemplo que haga lo mismo.

Suerte y gracias de antemano
  #5 (permalink)  
Antiguo 04/09/2008, 16:42
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: Ayuda con news Ticker

Bueno, despues de tanto analizar, la solución termino ser bastante simple. en las mismas líneas que modifique, hay que cambiarlo por lo siguiente:
Código PHP:
stop();

//Cargar XML de las noticias
noticias = new XML();
noticias.ignoreWhite true;
noticias.onLoad = function (){

    
//Porcentajes y esas cosas
    
totalxml noticias.getBytesTotal();
    
cargadoxml noticias.getBytesLoaded();
    
porcentajexml Math.round((cargadoxml/totalxml)*100);

    
//Si esta cargado del todo
    
if (porcentajexml >= 100) {
        
//Borramos el cargando
        
removeMovieClip(cargando);
        
        
//Shortcuts del XML
        
notis_puerto = new Array();
        
titulo = new Array();
        
urls = new Array();
        
img = new Array();
        
//Cogemos el numero de noticias
        
long noticias.firstChild.childNodes.length;
        
        
cargarCSS();
    }
}

//Atacheamos y posicionamos el "cargando xml"
attachMovie("carga_xml","cargando",2);
cargando._x 45;
cargando._y 94;

//Atacheamos la linea de abajo del todo
attachMovie("linea","linea_abajo",5000);
linea_abajo._x 0;
linea_abajo._y 329;

//Atacheamos la caja de fondo

//Cargamos XML
noticias.load("ejemplo.php");


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA CARGAR LA HOJA CSS    --------------------*/
/*-------------------------------------------------------------------------------*/
function cargarCSS(){
    
//Creamos la hoja de estilo
    
estailo = new TextField.StyleSheet();
    
    
//Cuando este cargando...
    
estailo.onLoad = function(){
        
        
//Porcentajes y esas cosas
        
totalcss estailo.getBytesTotal();
        
cargadocss estailo.getBytesLoaded();
        
porcentajecss Math.round((cargadocss/totalcss)*100);
    
        
//Si esta cargado del todo
        
if (porcentajecss >= 100) {
            
//Borramos el cargando
            
removeMovieClip(cargando2);
            
            
//Una vez esta cargada la CSS ya podemos saber cuantas lineas hay
            //por cada caja de texto
            
            //Creamos un clip y un campo de texto temporales
            
_root.createEmptyMovieClip("temp_mc"7);
            
            
//Al campo de texto le ponemos el mismo tamaño de ancho que va a haber en
            //el de verdad. Le ponemos alto 16, que es lo que mide una linea. Así 
            //podemos saber el número de líneas que tenemos.
            
temp_mc.createTextField ("notis_txt",8,-150,-20,260,16);
            
            
//Ponemos las propiedades a nuestro campo de texto nuevo
            
temp_mc.notis_txt.multiline true;
            
temp_mc.notis_txt.wordWrap true;
            
temp_mc.notis_txt.html true;
            
            for (
i=0i<longi++){
                
//Cogemos los titulos de las noticias
                
titulo[i] = noticias.firstChild.childNodes[i].attributes.titulo;
                
                
//Cogemos las urls de las noticias
                
urls[i] = noticias.firstChild.childNodes[i].attributes.urls;

                
//Cogemos las imagenes de las noticias
                
img[i] = noticias.firstChild.childNodes[i].attributes.img;
                
                
//Cogemos el texto y lo ponemos en la caja de texto temporal
                
temp_mc.notis_txt.htmlText "<p class='tit'>"+titulo[i]+"</p><br><p class='txt'><img src='"+img[i]+"' width='100' height='50'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
                
                
//Cogemos el numero de lineas por texto
                
notis_puerto[i] = temp_mc.notis_txt.maxscroll-1;
            }
            
//Eliminamos el clip temporal
            
removeMovieClip(_root["temp_mc"]);
            
//Montamos las noticias
            
montarNoticias();
        }

    }
    
attachMovie("carga_css","cargando2",3);
    
cargando2._x 45;
    
cargando2._y 94;
    
estailo.load("noticias.css");
}


/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA MONTAR LAS NOTICIAS    -------------------*/
/*-------------------------------------------------------------------------------*/
function montarNoticias(){
    
par true;
    for (
i=0i<longi++){
        
//Ponemos la caja

        
_root.attachMovie ("caja_info","caja"+i,i*10);
        
//Creamos el color
        
_root["caja"+i].colorcaja = new Color(_root["caja"+i].fondo.fondocolor);
        
//Le damos una altura igual a 16 por el numero de lineas que tenga
        
_root["caja"+i].fondo._height 16 notis_puerto[i];
        
        
//Pintamos la caja
        
if (par == true){
            
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            
_root["caja"+i].micolor "0xFFFFFF";
            
par false;
        }
        else{
            
_root["caja"+i].colorcaja.setRGB(0xFFFFFF);
            
_root["caja"+i].micolor "0xFFFFFF";
            
par true;
        }
        
        
//Si no existe altura, le damos 0 y asi se posiciona la primera caja
        //en y=0
        
if (altura == undefined){
            
altura 0;
        }
        
//Si existe, le damos una altura igual, a:
        //"altura acumulada" = "altura acumulada" + "altura anterior clip"
        
else{
            
altura altura _root["caja"+(i-1)].fondo._height;
        }
        
        
//Posicionamos la caja
        
_root["caja"+i]._x 0;
        
_root["caja"+i]._y altura;
        
        
//Creamos la caja de texto y ponemos sus propiedades
        
_root["caja"+i].createTextField("texto_txt",i*37,2,1,260,16 notis_puerto[i]);
        
_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[i];
        
        
//Atacheamos al texto la hoja CSS
        
_root["caja"+i].texto_txt.styleSheet estailo;
        
        
//Ponemos el titulo
        
_root["caja"+i].texto_txt.htmlText "<p class='tit'>"+titulo[i]+"</p><br>";

        
//Ponemos los textos de las noticias
        
_root["caja"+i].texto_txt.htmlText += "<p class='txt'><img src='"+img[i]+"' width='100' height='50'>"+noticias.firstChild.childNodes[i].firstChild+"</p>";
    }
    
//Mostramos la pestañita
    
attachMovie("pestana","pestanita",2000);
    
pestanita._x 0;
    
pestanita._y 0;
    
    
siguiente_y 0;
    
y_arriba 0;
    
    
//Posicionamos todos los clips por debajo de 330 sobre 0
    //Empezamos por el ultimo y vamos subiendo
    
for (i=longi>0i--){
        if (
_root["caja"+i]._y 330){
            
siguiente_y siguiente_y _root["caja"+i]._height 1;
            
_root["caja"+i]._y siguiente_y;
        }
    }
    
    
//Una vez esta todo montado movemos las noticias
    
moverNoticias();
}

/*-------------------------------------------------------------------------------*/
/*---------------------   FUNCION PARA MOVER LAS NOTICIAS    --------------------*/
/*-------------------------------------------------------------------------------*/
function moverNoticias(){
    
//Si es la primera vez forzamos el movimiento, si no empiezan paradas las cajas
    
if (primera_vez == undefined){
        
//Creamos el evento y se empiezan a mover las cajas
        
_root.onEnterFrame = function(){
            
            for (
i=0i<longi++){
                
//Si la caja llega a abajo del todo
                
if (_root["caja"+i]._y 330){
                    
y_arriba 0;
                    
                    
//Calculamos donde hay que posicionar el clip que llega abajo
                    
for (j=0j<longj++){
                        
//Todos los clips que esten por encima de 0
                        
if (_root["caja"+j]._y 0){
                            
//Cogemos la posicion y que haya mas arriba
                            
y_actual _root["caja"+j]._y;
                            if (
y_actual y_arriba){
                                
y_arriba y_actual;
                            }
                        }
                    }
                    
//Lo posicionamos arriba, siendo esta posicion:
                    //"y del clip actual" = "posicion del clip de mas arriba" - "altura del clip actual" + 1;
                    
_root["caja"+i]._y y_arriba _root["caja"+i]._height 1;
                }
                
//Hacemos que vayan bajando las cajas
                
_root["caja"+i]._y += 1;
            }
        }
        
primera_vez false;
    }
    
/***************************************************************************/
    
    
    //"el_fondo" controla a cada fotograma si estamos o no encima de las noticias
    
el_fondo.onEnterFrame = function(){
        for (
i=0i<longi++){
            
//Si clicamos en la caja, vamos a la direccion "x"
            
_root["caja"+i].onPress = function(){
                
getURL (this.direc_url"_parent");
            }
            
//Si nos ponemos encima de la caja, eliminamos el evento y se para
            
_root["caja"+i].onRollOver = function(){
                
//Iluminar
                
this.colorcaja.setRGB(0xF3FBFE);
                
delete _root.onEnterFrame;
            }
            
//Si nos salimos de las cajas, se empieza a mover otra vez
            
_root["caja"+i].onRollOut = function(){
                
//Pintamos la caja con el color anterior
                
this.colorcaja.setRGB(this.micolor);
                
                
//Creamos el evento y se empiezan a mover las cajas
                
_root.onEnterFrame = function(){
                    
                    for (
i=0i<longi++){
                        
//Si la caja llega a abajo del todo
                        
if (_root["caja"+i]._y 330){
                            
y_arriba 0;
                            
                            
//Calculamos donde hay que posicionar el clip que llega abajo
                            
for (j=0j<longj++){
                                
//Todos los clips que esten por encima de 0
                                
if (_root["caja"+j]._y 0){
                                    
//Cogemos la posicion y que haya mas arriba
                                    
y_actual _root["caja"+j]._y;
                                    if (
y_actual y_arriba){
                                        
y_arriba y_actual;
                                    }
                                }
                            }
                            
//Lo posicionamos arriba, siendo esta posicion:
                            //"y del clip actual" = "posicion del clip de mas arriba" - "altura del clip actual" + 1;
                            
_root["caja"+i]._y y_arriba _root["caja"+i]._height 1;
                        }
                        
//Hacemos que vayan bajando las cajas
                        
_root["caja"+i]._y += 1;
                    }
                }
            }
        }
    }

Bueno, ahora si alguien sabe como cambiarle la dirección qen que se mueve el ticker, es decir que se mueva de abajo hacia arriba, le agradecería lo posteara acá.

Suerte a todos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.