lunes, 14 de julio de 2014

codigo para la clase jugador

package clases {
   
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
   
    public class Jugador extends MovieClip {
       
        var velocidady : int = 1;
        var velocidadx : int = 4;
        var salto : int = -10;
        var limite: int = 10;
        var arriva : Boolean = false;
        var derecha : Boolean = false;
        var izquierda : Boolean = false;
       
        public function Jugador() {
            addEventListener(Event.ENTER_FRAME, siempre);
            stage.addEventListener(KeyboardEvent.KEY_DOWN, precionTecla);
            stage.addEventListener(KeyboardEvent.KEY_UP, desprecionTecla);
        }
       
        function siempre(evento : Event) : void{
            movimiento();
        }
       
        function movimiento(): void{
            if(MovieClip(root).suelo.hitTestPoint(x,y + height/2,true)){
                while(MovieClip(root).suelo.hitTestPoint(x,-2+y + height/2,true)){
                    y--;
                }
                velocidady=0;
                if(arriva){
                    velocidady = salto;
                    y += velocidady;
                }
            }else if(MovieClip(root).suelo.hitTestPoint(x,y - height/2,true)){
                velocidady = velocidady * -1;
                while(MovieClip(root).suelo.hitTestPoint(x, y - height/2,true)){
                    y++;
                }
            }
            else{
                y += velocidady;
                if(velocidady <= limite){
                    velocidady++;
                }
            }
            if (derecha){
                x+=velocidadx;
                estado1.gotoAndStop(2);
            }
            if (izquierda){
                x-=velocidadx;
                estado1.gotoAndStop(2);
            }
            while(MovieClip(root).suelo.hitTestPoint(x + width/2, y,true)){
                    x--;
            }
            while(MovieClip(root).suelo.hitTestPoint(x - width/2, y,true)){
                    x++;
            }
        }
       
        function precionTecla(evento : KeyboardEvent) : void{
            switch (evento.keyCode){
                case Keyboard.UP:
                    arriva=true;
                    estado1.gotoAndStop(3);
                    break;
                case Keyboard.DOWN:
                    estado1.gotoAndStop(4);
                    break;
                case Keyboard.RIGHT:
                    derecha = true;
                    scaleX = 1;
                    estado1.gotoAndStop(2);
                    break;
                case Keyboard.LEFT:
                    izquierda = true;
                    scaleX = -1;
                    estado1.gotoAndStop(2);
                    break;
            }
        }
        function desprecionTecla(evento : KeyboardEvent) : void{
            switch (evento.keyCode){
                case Keyboard.UP:
                    estado1.gotoAndStop(1);
                    arriva=false;
                    break;
                case Keyboard.DOWN:
                    estado1.gotoAndStop(1);
                    break;
                case Keyboard.RIGHT:
                    derecha = false;
                    estado1.gotoAndStop(1);
                    break;
                case Keyboard.LEFT:
                    izquierda = false;
                    estado1.gotoAndStop(1);
                    break;
            }
        }
    }