Comunidad de diseño web y desarrollo en internet online

Exportar MovieClip con Fotogramas a ActionScript

Citar            
MensajeEscrito el 10 Ene 2012 02:58 am
Holas soy nuevo aca y me gustaría que ne ayudaran en un problemita que tengo....surge que tengo un mc con frame es un muñeco que camina en todas direcciones "arriba" "derecha" "abajo" e "izquierda" todo funciona bien si pongo el muñeco al escenario manualmente desde el archivo ".fla" pero me he dado cuenta que al empezar se da vuelta infinitamente y solo se para si pulso una tecla para moverlo....es para un juego que estoy desarrollando y pues me gustaria quitarle eso. tiene funciones de break pero no le hace efecto....asi que decidi exportarlo a ver si era ese el problema....tengo 2 ".as" en uno es el main y el otro se llama "muñeco"....lo he exportado todo parece bien pero al probar la pelicula el muñeco aparece nuevamente dandose vuelta sin parar pero esta vez no se mueve y se queda asi.....porfavor si hay algo que no he hecho porfavor seria de gran ayuda.....algunos me han dicho que debo exportar los fotogramas pero no se hacerlo!

Gracias !

Por cobeli

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Ene 2012 12:58 pm
Se da vuelta infinitamente ... si es una animación, te falta un stop, si es algún código, estarás disparando un onEnterFrame antes de tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ene 2012 04:19 pm
Hola Jorge gracias por tu ayuda, si quieres mira como tengo mi codigo estructurado....Este es el muñeco que lo tengo en una carpeta aparte:

Código ActionScript :

package com.esedeerre
{
  import flash.display.MovieClip;
  import flash.display.Stage;
  import flash.events.Event;
  import flash.events.KeyboardEvent;
  import flash.ui.Keyboard;
  import flash.events.TimerEvent;
  import flash.utils.Timer;


    public class Link1 extends MovieClip
   { 
   
     // 4 Boleanos que permiten saber cuales flechas estan pulsadas
      // Cuando de pulsa se pone en true y cuando se suelta en false
      private var pulsadoLeft      :Boolean   = false; 
      private var pulsadoRight   :Boolean   = false;
      private var pulsadoDown      :Boolean   = false;
      private var pulsadoUp      :Boolean   = false;
      
      private var caminando      :Boolean   = false;
      private var parada         :Boolean   = true;
      
      // Numero que indica hacia donde esta mirando link.
      // Se utiliza para el movimiento y para la postura.
      // Esta basado en las agujas de reloj.
      // EJEM: Cuando direccion es 300 (osea 3:00), link se mueve a la derecha
      // Cuando direccion es 130 (osea 1:30), link se mueve a la diagonal derecha
      private var direccion      :uint;
      
      private   var velocidad      :uint       = 4; // pixeles que se desplaza link
      
      // Hay dos Timer para que el movimiento sea mas fluido...
      // y para que el personaje se quede parada viendo en diagonal.
      private var tiempoParaGirar   :Timer      = new Timer(50, 0);
      private var tiempoParaMover   :Timer      = new Timer(20, 0);
      public var clip1:Link1 = new Link1();
      
   

    public function Link1() 
   {


      stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
     stage.addEventListener(KeyboardEvent.KEY_UP,keyPressedUp);
     tiempoParaGirar.addEventListener(TimerEvent.TIMER,giraLink);
     // activando temporizador que actualiza la postura de link. 
     // Ejecuta la funcion giraLink que esta mas abajo
     tiempoParaGirar.start();
     
     tiempoParaMover.addEventListener(TimerEvent.TIMER, moverLink);
     
     

    }

    private function keyPressedDown(e:KeyboardEvent):void 
   {
    
      // Segun la tecla que se pulse se activan los boleanos.
     // investigar sobre switch en la ayuda de flash
         switch(e.keyCode)
         {
            case Keyboard.LEFT:
               pulsadoLeft      = true;
               break;
            case Keyboard.RIGHT:
               pulsadoRight   = true;
               break;
            case Keyboard.UP:
               pulsadoUp      = true;
               break;
            case Keyboard.DOWN:
                pulsadoDown   = true;
               break;
            default:
               break;
         }
         // Condicional que activa el temporizador que actualiza el movimiento de juanita
         if (caminando == false)
         {
            tiempoParaMover.start(); // Se ejecuta moverJuanita();
         }
         // Esto hace que solo se active cuando se pulsa la tecla. 
         // y no siempre que este presionada
         caminando = true; 
         
      }
      
      private function keyPressedUp(e:KeyboardEvent):void
      {
         // lo mismo que la funcion pulsarTecla pero al revez
         switch(e.keyCode)
         {
            case Keyboard.LEFT:
               pulsadoLeft      = false;
               break;
            case Keyboard.RIGHT:
               pulsadoRight   = false;
               break;
            case Keyboard.UP:
               pulsadoUp      = false;
               break;
            case Keyboard.DOWN:
                pulsadoDown   = false;
               break;
            default:
               break;
         }
         
         // Condicional que desactiva el temporizador, cuando todas...
         // .. las teclas estan sueltas
         if (pulsadoLeft      == false   &&
            pulsadoRight   == false   &&
            pulsadoUp      == false   &&
            pulsadoDown      == false   )
            {
               caminando = false;
               tiempoParaMover.stop(); // No se ejecuta moverJuanita();
            }
      }
      
      // Funcion que controla la postura de juanita. se basa en las agujas del relog por ejemplo:
       // 1200 = 12:00, 300 = 3:00, y asi sucesivamente...
      private function giraLink(e:TimerEvent):void
      {
         if (caminando == true)
         {
            // Caminado arriba
            // Dependiendo de las teclas pulsadas,..
            // y si no ha sido antes verdadero este condicional...
            // el MC llamado juanita va a un fotograma llamado caminando1200
            // que corresponde a la postura correspondiente
            if (pulsadoLeft      == false   &&
               pulsadoRight   == false   &&
               pulsadoUp      == true      &&
               pulsadoDown      == false   &&
               direccion      != 1200)
               {
                  link.gotoAndStop("link_up");
                  direccion      = 1200; // Esto hace que solo se ejecute una vez
               }
            
            // Caminado a la derecha
            if (pulsadoLeft      == false   &&
               pulsadoRight   == true      &&
               pulsadoUp      == false   &&
               pulsadoDown      == false   &&
               direccion      != 300)
               {
                  link.gotoAndStop("link_right");
                  direccion      = 300;
               }
            
            // Caminado abajo
            if (pulsadoLeft      == false   &&
               pulsadoRight   == false   &&
               pulsadoUp      == false   &&
               pulsadoDown      == true      &&
               direccion      != 600)
               {
                  link.gotoAndStop("link_down");
                  direccion      = 600;
               }
            
            // Caminado hacia la izquierda
            if (pulsadoLeft      == true      &&
               pulsadoRight   == false   &&
               pulsadoUp      == false   &&
               pulsadoDown      == false   &&
               direccion      != 900)
               {
                  link.gotoAndStop("link_left");
                  direccion      = 900;
               }
               
               parada = false;
         }
         
         // Este else hace que cuando se detenga link, quede en la postura adecuada
         else if(parada == false)
         {
            parada      = true;
            switch(direccion)
            {
               case 1200:
                  link.gotoAndStop("parado_up");
                  break;
               
               case 300:
                   link.gotoAndStop("parado_right");
                  break;
               
               case 600:
                  link.gotoAndStop("parado_down");
                  break;
               
               case 900:
                  link.gotoAndStop("parado_left");
                  break;
               
               default:
                  break;
            }
            direccion   = 0; // Para que no patine, si se oprime rapido la tecla. 
         }         
      }
         
         
      private function moverLink(e:TimerEvent):void
      {
         // Dependiendo de la postura, camina hacia una direccion o otra.
         // Esta es la mejor opcion cuando se trabaja con colicoines.
         switch(direccion)
         {
            case 1200:
               link.y -= velocidad;
               break;
            
            case 300:
               link.x += velocidad;
               break;
            
            case 600:
               link.y += velocidad;
               break;
            
            case 900:
               link.x -= velocidad;
               break;
            
            default:
               break;
         }
      }
   }
}


Y este es el main.as:

Código ActionScript :

package
    {
       import flash.display.MovieClip;
      import com.esedeerre.Link1;
      
       //
       public class Main extends MovieClip
       {
       
           public var clip1:Link1 = new Link1();
       
          //
          public function Main()
          {
           
         
             clip1.x = 100;
             clip1.y = 100;
          
          addChild(clip1);
        }
      }
   }

Por cobeli

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Ene 2012 04:21 pm
250 líneas de código, nice ... errr .... en cuanto tenga un rato me las miro ;)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ene 2012 04:31 pm
Bueno lo he medio acomodado pero ahora me dice;

Link1.as, Line 142 Access of Undefined property link. link.gotoAndStop("link_up");
Link1.as, Line 153 Access of Undefined property link. link.gotoAndStop("link_right");
Link1.as, Line 164 Access of Undefined property link. link.gotoAndStop("link_down");
Link1.as, Line 175 Access of Undefined property link. link.gotoAndStop("link_left");
Link1.as, Line 189 Access of Undefined property link. link.gotoAndStop("parado_up");
Link1.as, Line 193 Access of Undefined property link. link.gotoAndStop("parado_right");
Link1.as, Line 197 Access of Undefined property link. link.gotoAndStop("parado_down");
Link1.as, Line 201 Access of Undefined property link. link.gotoAndStop("parado_left");
Link1.as, Line 219 Access of Undefined property link. link.y -= velocidad;
Link1.as, Line 219 Access of Undefined property link. link.y -= velocidad;
Link1.as, Line 223 Access of Undefined property link. link.x += velocidad;
Link1.as, Line 223 Access of Undefined property link. link.x += velocidad;
Link1.as, Line 227 Access of Undefined property link. link.y += velocidad;
Link1.as, Line 227 Access of Undefined property link. link.y += velocidad;
Link1.as, Line 231 Access of Undefined property link. link.x -= velocidad;
Link1.as, Line 231 Access of Undefined property link. link.x -= velocidad;


Este error me sale con el codigo que he puesto arriba :(

Por cobeli

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Ene 2012 04:33 pm
Si pero acuerdate que tengo un MovieClip animado con exactamente 8 frames de los cuales estan todas las posturas de "link_up" "link_right" "link_down" "link_left" "parado_up" parado_right" "parado_down" y "parado_left"....esta exportado en actionscript desde sus propiedades como "Link1" y los frames estan etiquetadas como ya he mencionado !

Por cobeli

13 de clabLevel



 

firefox

 

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