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

no se que titulo ponerle a mi problema

Estas en el tema de no se que titulo ponerle a mi problema en el foro de Flash y Actionscript en Foros del Web. hola. Estoy haciendo una pagina web en flash con as3 y en una parte le he integrado una galería de fotos que conseguí con una ...
  #1 (permalink)  
Antiguo 11/05/2009, 15:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 0
no se que titulo ponerle a mi problema

hola. Estoy haciendo una pagina web en flash con as3 y en una parte le he integrado una galería de fotos que conseguí con una plantilla. Mi problema es que una vez que cargo la galería, cuando paso a otra sección quedan las fotos encima siempre. Alguien puede decirme como hacer para que al cambiar de sección desaparezca la galería?
Muchas gracias a todos
  #2 (permalink)  
Antiguo 11/05/2009, 21:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: no se que titulo ponerle a mi problema

No se como la cargas, pero si usas as3 no hay mas loadMovie, por lo que deberias usar removeChild. Si toda la galeria es un Mc, podes setearle a propiedad visible a false, pero no te lo recomiendo.
  #3 (permalink)  
Antiguo 12/05/2009, 11:34
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: no se que titulo ponerle a mi problema

como ha dicho Personagorda si esta en un mc lo puedes eliminar no utilizando visible si no addChild() de la siguiente forma, yo utilizo este pequeño truco para eliminar varios contenidos que estén dentro de un mc de la siguiente forma

addChild(mc)
removeChild(mc)

de este forma no hay problema para eliminar un mc aunque este en el contenedor que este

pero ojo que esto elimina también todo el contenido del mc XDXd
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #4 (permalink)  
Antiguo 12/05/2009, 16:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 0
Respuesta: no se que titulo ponerle a mi problema

hola, en primer lugar gracias por las respuestas. He estado intentando hacer lo que me indicais pero no he sido capaz.
He probado de dos maneras diferentes, una es haciendo la galería directamente dentro de mi web flash con el siguiente codigo:

stop();
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;

var filename_list = new Array();
var url_list = new Array();
var title_list = new Array();
var description_list = new Array();

var i:Number;
var tn:Number = 0;
var tween_duration:Number = 0.4;

var fm_tween:Tween;
var total:Number;
var flashmo_xml:XML = new XML();
var folder:String = "photos/";
var xml_loader:URLLoader = new URLLoader();
xml_loader.load(new URLRequest("flashmo_130_photo_list.xml"));
xml_loader.addEventListener(Event.COMPLETE, create_thumbnail);

var thumbnail_group:MovieClip = new MovieClip();
stage.addChild(thumbnail_group);

thumbnail_group.x = tn_group.x;
var default_y:Number = thumbnail_group.y = tn_group.y;

tn_group.visible = false;
tn_title.text = "";
tn_desc.text = "";


function create_thumbnail(e:Event):void
{
flashmo_xml = XML(e.target.data);
total = flashmo_xml.thumbnail.length();

for( i = 0; i < total; i++ )
{
filename_list.push( flashmo_xml.thumbnail[i][email protected]() );
url_list.push( flashmo_xml.thumbnail[i][email protected]() );
title_list.push( flashmo_xml.thumbnail[i][email protected]() );
description_list.push( flashmo_xml.thumbnail[i][email protected]() );
}
load_tn();
}

function load_tn():void
{
var pic_request:URLRequest = new URLRequest( folder + filename_list[tn] );
var pic_loader:Loader = new Loader();

pic_loader.load(pic_request);
pic_loader.contentLoaderInfo.addEventListener(Even t.COMPLETE, on_loaded);
tn++;
}

function on_loaded(e:Event):void
{
if( tn < total )
{
load_tn();
tn_desc.text = "Cargando " + tn + " de " + total + " fotos";
}
else
{
tn_title.text = title_list[0];
tn_desc.text = description_list[0];


var mc:MovieClip = MovieClip( thumbnail_group.getChildAt(total-2) );
mc.addEventListener( MouseEvent.CLICK, go_out );
new Tween(mc, "rotation", Bounce.easeOut, mc.rotation, 0, tween_duration, true);

}

var flashmo_bm:Bitmap = new Bitmap();
var flashmo_mc:MovieClip = new MovieClip();

flashmo_bm = Bitmap(e.target.content);
flashmo_bm.x = - flashmo_bm.width * 0.5;
flashmo_bm.y = - flashmo_bm.height * 0.5;
flashmo_bm.smoothing = true;

var bg_width = flashmo_bm.width + 14;
var bg_height = flashmo_bm.height + 14;

flashmo_mc.addChild(flashmo_bm);
flashmo_mc.graphics.lineStyle(1, 0x666666);
flashmo_mc.graphics.beginFill(0xFFFFFF);
flashmo_mc.graphics.drawRect( - bg_width * 0.5, - bg_height * 0.5, bg_width, bg_height );
flashmo_mc.graphics.endFill();

flashmo_mc.name = "flashmo_" + thumbnail_group.numChildren;

new Tween(flashmo_mc, "x", Strong.easeOut, 200, Math.random() * 20 - 10, tween_duration * 2, true);
new Tween(flashmo_mc, "y", Strong.easeOut, -300, Math.random() * 20 - 10, tween_duration * 2, true);
new Tween(flashmo_mc, "rotation", Strong.easeOut, 60, Math.random() * 30 - 15, tween_duration * 2, true);

thumbnail_group.addChildAt(flashmo_mc, 0);
}

function go_out(e:MouseEvent):void
{
var mc:MovieClip = MovieClip(e.target);
mc.removeEventListener( MouseEvent.CLICK, go_out );

fm_tween = new Tween(mc, "x", Strong.easeIn, mc.x, 100, tween_duration, true);
fm_tween.addEventListener(TweenEvent.MOTION_FINISH , go_in);
new Tween(mc, "y", Strong.easeIn, mc.y, -180, tween_duration, true);
}

function go_in(te:TweenEvent):void
{
var mc:MovieClip = MovieClip( thumbnail_group.getChildAt(total-1) );
var s_no:Number = parseInt( mc.name.slice(8,10) ) + 1;
if(s_no == total) s_no = 0;

fm_tween = new Tween(mc, "x", Strong.easeOut, mc.x, Math.random() * 20 - 10, tween_duration, true);
fm_tween.addEventListener(TweenEvent.MOTION_FINISH , add_click);
new Tween(mc, "y", Strong.easeOut, mc.y, Math.random() * 20 - 10, tween_duration, true);
new Tween(mc, "rotation", Regular.easeOut, mc.rotation, Math.random() * 30 - 15, tween_duration, true);

thumbnail_group.addChildAt( mc, 0 );

tn_title.text = title_list[s_no];
tn_desc.text = description_list[s_no];

}

function add_click(te:TweenEvent):void
{
var mc:MovieClip = MovieClip(thumbnail_group.getChildAt(total-1) );
mc.addEventListener( MouseEvent.CLICK, go_out );
new Tween(mc, "rotation", Bounce.easeOut, mc.rotation, 0, tween_duration, true);
}


También he probado importándola desde un swf externo con este código

var contenedor = new Loader();
contenedor.load(new URLRequest("flashmo_130_stack_gallery.swf"));
addChild(contenedor);
contenedor.x = -500;
contenedor.y = 0;


y tampoco me funciona. La verdad es que controlo poco de as3, así que si alguien me supiera decir el código que me falta para que funcione de cualquiera de las dos maneras, le estaría eternamente agradecido.

un saludo
  #5 (permalink)  
Antiguo 12/05/2009, 20:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: no se que titulo ponerle a mi problema

Cita:
var contenedor = new Loader();
contenedor.load(new URLRequest("flashmo_130_stack_gallery.swf"));
addChild(contenedor);
contenedor.x = -500;
contenedor.y = 0;
te falta declarar una variable para el request.

Cita:
var request:URLRequest = new URLRequest("flashmo_130_stack_gallery.swf");
var contenedor = new Loader();
contenedor.load(request);
addChild(contenedor);
contenedor.x = -500;
contenedor.y = 0;
Saludos
  #6 (permalink)  
Antiguo 12/05/2009, 23:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 941
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: no se que titulo ponerle a mi problema

kikesax, creo que somos de cerca Sax, Elda yo.... ¿ Sax,puede ser ?

a mi mas o menos me pasa igual que a este chico,bueno relativamente parecido,solo que nadie me contesta jeje.... : MENSAJE "FUNCION CLIK NO FUNCIONA" , una ayuda por el amor de dios.
  #7 (permalink)  
Antiguo 13/05/2009, 02:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 0
Respuesta: no se que titulo ponerle a mi problema

muchas gracias persona gorda, pero me sigue pasando lo mismo. Voy a la sección de galería y esta se me carga muy bien, pero luego cuando paso a otra sección de la página, la galería me queda siempre presente y funcionando. ¿Como se le puede aplicar el removechild? o no valdría para esto.

manu__ lo siento pero no soy de sax sino que lo toco, soy de Gijón ¡Puxa Sporting!

muchas gracias
  #8 (permalink)  
Antiguo 13/05/2009, 16:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: no se que titulo ponerle a mi problema

A ver, si tenes la galeria dentro de un contenedor al boton que le programaste que te vaya a otra seccion aparte del gotoAnd o lo que sea que tenga agregale un

removeChild(contenedor_de_galeria);
  #9 (permalink)  
Antiguo 13/05/2009, 16:29
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 0
Respuesta: no se que titulo ponerle a mi problema

hola, se que soy muy pesado pero es que ando mu perdido. Yo tengo este codigo en la pagina, donde debería poner el removeChild?

fm_button.visible = false;
flashmo_photo_group1.gotoAndStop( 1 );


var menu_label:Array = new Array("INICIO", "BIOGRAFIA", "AUDIO Y VIDEO",
"GALERIA", "AGENDA", "SAXAS",
"CONTACTO");

var total:Number = menu_label.length;
var i:Number = 0;
var page:Number;
var main_menu:MovieClip = new MovieClip();
stage.addChild(main_menu);

for( i = 0; i < total; i++ )
{
var btn = new flashmo_button();
btn.name = "btn" + i;
btn.x = fm_button.x;
btn.y = fm_button.y + (fm_button.height + 10) * i;
btn.item_no = i;
btn.addEventListener( Event.ENTER_FRAME, btn_enter );

var each_substring:Array = menu_label[i].split("|");
btn.flashmo_button_label.fm_label.text = each_substring[0];
btn.item_url = each_substring[1];
main_menu.addChild(btn);
}

function btn_over(e:MouseEvent):void
{
e.target.over = true;
}

function btn_out(e:MouseEvent):void
{
e.target.over = false;
}

function btn_click(e:MouseEvent):void
{
var mc = e.target.parent;
if( mc.item_url != undefined )
navigateToURL( new URLRequest( mc.item_url ), "_parent" );
else
change_page(mc.item_no);
}

function btn_enter(e:Event):void
{
var mc = e.target;
if( mc.over == true )
mc.nextFrame();
else
mc.prevFrame();
}

function change_page(no:Number):void
{
for( var i:Number = 0; i < main_menu.numChildren; i++ )
{
var mc = MovieClip( main_menu.getChildAt(i) );
mc.over = false;
mc.flashmo_click_area.visible = true;
mc.addEventListener( MouseEvent.ROLL_OVER, btn_over );
mc.addEventListener( MouseEvent.ROLL_OUT, btn_out );
mc.addEventListener( MouseEvent.CLICK, btn_click );
}
var mc_selected = MovieClip( main_menu.getChildAt(no) );
mc_selected.over = true;
mc_selected.flashmo_click_area.visible = false;
mc_selected.removeEventListener( MouseEvent.ROLL_OVER, btn_over );
mc_selected.removeEventListener( MouseEvent.ROLL_OUT, btn_out );
mc_selected.removeEventListener( MouseEvent.CLICK, btn_click );

page = no + 1;
play();
}

change_page(0);
  #10 (permalink)  
Antiguo 13/05/2009, 16:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: no se que titulo ponerle a mi problema

No veo donde cargas la galeria, si la estas cargando externamente a cada boton que tengas en el menu (exceptuando el de galeria) deberias poner un condicional que diga que si la galeria esta cargada la saque del escenario.
Sino la estas cargando externamente no deberias tener ese problema, solo con ponerla sola en un frame distinto alcanza.
  #11 (permalink)  
Antiguo 13/05/2009, 16:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 0
Respuesta: no se que titulo ponerle a mi problema

hola, tengo una capa que se llama pagecontents y dentro de ella cada frame corresponde a una sección, donde tengo una capa de acciones, fondo, texto...
ahí en la capa de acciones pongo el siguiente código:

var request:URLRequest = new URLRequest("flashmo_130_stack_gallery.swf");
var contenedor = new Loader();
contenedor.load(request);
addChild(contenedor);
contenedor.x = -500;
contenedor.y = 0;

muchas gracias por tomarte tantas molestias
  #12 (permalink)  
Antiguo 13/05/2009, 17:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: no se que titulo ponerle a mi problema

Cita:
btn1.addEventListener(MouseEvent.CLICK, descargar);

function descargar(e:Event){
removeChild(contenedor);
}
Pone eso en otro boton, si estan al mismo nivel tiene que andar si o si. "btn1" obviamente no es el boton que carga la galeria.
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 11:19.