Comunidad de diseño web y desarrollo en internet

Mover un MC utilizando una clase

Citar            
MensajeEscrito el 20 Ago 2016 03:35 am
Hola, estoy precisando ayuda.
He logrado mover un MC utilizando una clase, pero al mover no se ve fluido, me la pase días dándole vuelta y no logro solucionarlo, les paso el código.

Código ActionScript :

package 
{
   import flash.display.*;
   import flash.events.*;
   
   public class Personaje_jugador extends MovieClip
   {
      public function Personaje_jugador()
      {
         addEventListener(Event.ADDED_TO_STAGE, stage1);
         addEventListener( Event.ENTER_FRAME, mover );
      }
      function stage1(e:Event):void
      {
         stage.addEventListener( KeyboardEvent.KEY_DOWN, presionartecla);
         stage.addEventListener( KeyboardEvent.KEY_UP, soltartecla);
      }
      public var velocidad = 10;
      private var arriba = false;
      private var abajo = false;
      private var izquierda = false;
      private var derecha = false;

      private function presionartecla(tecla:KeyboardEvent)
      {
         switch (tecla.keyCode)
         {
            case 37 :
               izquierda = true;
               break;
            case 38 :
               arriba = true;
               break;
            case 39 :
               derecha = true;
               break;
            case 40 :
               abajo = true;
         }
      }

      private function soltartecla(tecla:KeyboardEvent)
      {
         switch (tecla.keyCode)
         {
            case 37 :
               izquierda = false;
               break;
            case 38 :
               arriba = false;
               break;
            case 39 :
               derecha = false;
               break;
            case 40 :
               abajo = false;
         }
      }

      private function moverpersonaje()
      {
         if (izquierda)
         {
            x -=  velocidad;
         }
         else if (derecha)
         {
            x +=  velocidad;
         }
         if (arriba)
         {
            y -=  velocidad;
         }
         else if (abajo)
         {
            y +=  velocidad;
         }
      }

      private function mover(e:Event):void
      {
         moverpersonaje();
      }
   }
}

Por Akaris

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Ago 2016 02:14 pm
Hay un par de motivos que pueden estar haciendo que no se vea fluido

- FPS bajo (24 es lo recomandable)
- Muchas otras cosas pasando al mismo tiempo, especialmente si usas mucho onEnterFrame timers

Lo ideal es que lo pruebes solo. El código se ve correcto

Jorge

Por solisarg

BOFH

13338 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Ago 2016 02:58 pm
Gracias por tu respuesta.

Por Akaris

5 de clabLevel



 

chrome

   Página 1 de 1

 

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