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

Agregar container en Escena determinada

Estas en el tema de Agregar container en Escena determinada en el foro de Flash y Actionscript en Foros del Web. Estimados: Quiero agregar un container del tipo Sprite, para a su vez dentro agregar un Loader. El problema resulta que si agrego el loader aparece ...
  #1 (permalink)  
Antiguo 29/10/2013, 21:15
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Agregar container en Escena determinada

Estimados:

Quiero agregar un container del tipo Sprite, para a su vez dentro agregar un Loader.

El problema resulta que si agrego el loader aparece en todas las escenas, y yo deseo mostrarlo en una escena determinada. Tengo dos escenas, la primera llamada IntroScreen y la segunda llamada GameScreen (deseo agregar el loader dentro de la escena llamada GameScreen).

¿Como puedo agregar un Sprite o el loader dentro de una escena determinada?

Nota: Trabajo con el código mediante Flash Builder 4.7 (Flash Project)

Saludos y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 30/10/2013, 16:44
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Agregar container en Escena determinada

Código AS3:
Ver original
  1. //GameScreen
  2.  
  3.  
  4. import flash.display.*;
  5. import flash.net.URLRequest;
  6. import flash.events.Event;
  7. import flash.events.MouseEvent;
  8.  
  9. // crear el cargador:
  10. var urlReq:URLRequest = new URLRequest(archivoacargar);
  11. var cargador:Loader = new Loader();
  12. // poner el cargador en escena:
  13. stage.addEventListener(Event.ENTER_FRAME, function cargado(e:Event){
  14. cargador.name = "cargador";
  15.  
  16. cargador.load(urlReq);
  17.  
  18. stage.addChild(cargador);
  19.        
  20. stage.removeEventListener(Event.ENTER_FRAME,cargado);
  21.  
  22. });
  23. this.stop();
  24. stage.addEventListener(MouseEvent.CLICK, function (e:MouseEvent){
  25.  
  26.     trace(currentScene.name);
  27.     gotoAndPlay(1,"IntroScreen");
  28.    
  29.    
  30. });
  31.  
  32.  
  33. //IntroScreen
  34. import flash.events.MouseEvent;
  35.  
  36. stage.addEventListener(MouseEvent.CLICK, function (e:MouseEvent){
  37.  
  38.     gotoAndStop(1,"GameScreen");
  39. });
  40. stage.addEventListener(Event.ENTER_FRAME, function cargado(e:Event){
  41.  
  42.     if (stage.getChildByName("cargador")!=null){
  43.     stage.removeChild(stage.getChildByName("cargador"));
  44.     }
  45. stage.removeEventListener(Event.ENTER_FRAME,cargado);
  46. });
  47. this.stop();


No es el código preciso que necesitas, pero te puede dar una idea.

Colocas un evento para detectar si el cargador puede estar o no en la escena según el nombre de escena. Inmediatamente quitas el evento. Y así cada vez que entre en una escena hace una cosa u otra. Lo he puesto con mouseevent porque era más fácil hacerlo. Coloca dos escenas en un fla diferente con esos nombres y haz la prueba.

Etiquetas: as3, builder, escena, flash, loader, sprite
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 12:26.