Comunidad de diseño web y desarrollo en internet online

Problema al ver la película desde Html

Citar            
MensajeEscrito el 13 Jul 2009 09:42 am
Hola.... Tengo un código que al probarlo en Flash funciona perfectamente, pero que al montarlo en un html me empieza a hacer cosas raras. He usado Charles para ver si detectaba algún problema pero todo parece estar bien...

Muchas gracias....

Código :

package {
   import gs.*;
   import gs.easing.*;
   import flash.display.*;
   import flash.events.*;
   import flash.net.URLLoader;
   import flash.net.URLRequest;

public class Prototipo2 extends MovieClip {
      
      private var inFocus:MovieClip;
      private var loader:URLLoader;
      private var ancho:int;
      private var alto:int;
      
      public function Prototipo2():void {
         
         alto = stage.stageHeight;
         ancho = stage.stageWidth;
         loader=new URLLoader(new URLRequest("images.xml"));
         loader.addEventListener(Event.COMPLETE, setupClips);
         
      }

      private function setupClips(e:Event):void {
         
         var xml:XML=new XML(e.target.data);
         var list:XMLList=xml.image;
   
         for (var i:int=0; i<list.length(); i++) {
            
            var mc:MovieClip=MovieClip(con.getChildAt(i));//Convierte a MC, lo que se va encontrando en cada nivel...
            mc.buttonMode=true;
            mc.loc=[mc.x,mc.y];//Esta propiedad del MC guarda la localización original del MC, para así saber a dónde debe regresar cuando la mandamos atrás.
            var l:Loader = new Loader();
            l.x=-156 //Mitad de ancho y mitad de largo respectivamente
            l.y=-192
            l.load(new URLRequest(list[i].@src));
            mc.addChildAt(l,0)
            var flip:Flip= new Flip ();
            mc.addChild (flip);
            flip.x=100;
            flip.y=140;
            
            flip.addEventListener(MouseEvent.CLICK,flipClick);
            mc.addEventListener(MouseEvent.CLICK,onClick);
         } 
      }

      private function flipClick(e:MouseEvent):void {
         
         e.stopPropagation();//Esto es clave para que no se propague el evento al mc
         var flip:Flip= new Flip ();
         var mc:MovieClip=MovieClip(e.currentTarget.parent);//Así se accede al contenedor de flip
         flip.removeEventListener(MouseEvent.CLICK,flipClick);
         mc.removeChildAt (2);
         
         if (mc!=inFocus) {//Siempre que el mc no este agrandado....
            
            TweenLite.to(mc,0.2,{rotationY:180,ease:Linear.easeNone,onComplete:regresar})
            
            function regresar (){
               mc.addEventListener(MouseEvent.ROLL_OUT,onOut);
               }
               
            TweenLite.to(mc.detras,0.2,{alpha:1});//Esto es para que aparezca la etiqueta, MC enlarge dentro de cada foto
         }
      }

      private function onOut(e:MouseEvent):void {
         
         var mc:MovieClip=MovieClip(e.currentTarget);
         var flip:Flip= new Flip ();
         mc.removeEventListener(MouseEvent.ROLL_OUT,onOut);
         
         if (mc!=inFocus) {//Siempre que el mc no este agrandado....
            TweenLite.to(mc,0.2,{rotationY:0,ease:Linear.easeNone,onComplete:regresar2})
            
            function regresar2 (){
               flip.addEventListener(MouseEvent.CLICK,flipClick);
               mc.addChild(flip);
               }
            TweenLite.to(mc.detras,0.2,{alpha:0});//Esto es para que desaparezca la etiqueta.
         }
      }

      private function onClick(e:MouseEvent):void {
         
         var mc:MovieClip=MovieClip(e.currentTarget);
         var flip:Flip= new Flip ();
         if (inFocus==null) {//Cuando no hay nada grande, inFocus es igual a null.
         
            scaleUp(mc);//Como no hay nada grande, hacemos grande el actual mc
            
            //Si ya hay algo en grande, lo hacemos pequeño y lo devolvemos a su posición inicial, guardada en forma de Array.
            // Cuando se haya completado la animación, devolvemos a inFocus el valor null
         } else if (inFocus==mc) {
            
            removeChild (inFocus);
            mc.x=0;
            mc.y=0;
            
            con.addChild (mc);
            
            TweenLite.to(mc, 0.5, {scaleX:1,scaleY:1,x:mc.loc[0],y:mc.loc[1],ease:Strong.easeOut,onComplete:volver});
            
            function volver(){
            inFocus=null;
            
            if (mc.rotationY==0){
            mc.addChild(flip);
            }
//ESTA FUNCIÓN ES LA QUE NO FUNCIONA EN EL HTML            
           if (mc.rotationY==180){
            mc.addEventListener(MouseEvent.ROLL_OUT,onOut);
            }
/////////

            flip.addEventListener(MouseEvent.CLICK,flipClick);
            }
         } 
      }

      private function scaleUp(mc:MovieClip):void {
         inFocus=mc;//Como estamos haciendo grande este mc, inFocus deja de ser null
         
         if (inFocus.rotationY==180){
         inFocus.detras.alpha=1;
         }else{
         inFocus.detras.alpha=0;//Alfa de la etiqueta
         inFocus.removeChildAt (2);
         }
         inFocus.x= ancho/2;//(inFocus.loc[0])
         inFocus.y= alto/2;//(inFocus.loc[1])
         addChild(inFocus);//De esta manera ponemos el mc sobre todo lo demás
         
         TweenLite.to(inFocus,0.5,{width:ancho,height:alto,ease:Strong.easeOut});
         
      }

   }
}

Por audilon

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2009 10:58 am
¿Se supone que mirando el código imaginamos que cosas raras está haciendo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Jul 2009 09:24 pm
En realidad el código lo he puesto por si alguien quería probarlo.... La pregunta es si a alguien le ha ocurrido algo similar.... Es decir, que una pelicula funcione bien dentro de flash y que al cargarla, se "rompa". De todas formas, tu actitud no ayuda una mierda y no sé ni siquiera por qué me molesto en explicarte nada. Si lo único que tienes que aportar es lo que comentas en tu mensaje, por mí ni te molestes en contestar....

Por audilon

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Jul 2009 10:22 pm
Vaya audilon, te diré dos cosas.

Lo primero es poder preguntar con propiedad. Decir "hace cosas raras" y postear una clase de 150 líneas sin más es una descripción digamos demasiado ambigua. Las buenas preguntas obtienen buenas respuestas, las malas preguntas ameritan mayor precisión.
Lo segundo, haré como que no leí el final de tu respuesta, entiendo que tu inexperiencia en los foros y en Flash te haga perder demasiado rápidamente la paciencia, pero considera el sarcasmo o la ironía si entiendes que llevas la razón, nunca la grosería

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Jul 2009 10:52 pm
vete a cagar.... solisarg...

Por audilon

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Jul 2009 10:56 pm
Perfecto, no te olvido, suerte ;)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.