Popular channels

Problema con bloques en Javascript

Hola, Necesito ayuda tengo un Problema en Javascript...

Yo puse imagenes, y en Javascript tengo un Personaje que se anima y camina... Pero lo que quiero hacer es que..

No atraviese los Bloques... Porque el Problema que tengo es que mi personaje Atraviesa los bloques y lo que quiero hacer es que No atraviese sino que quede ahi que se pare xD...Que se quede quieto cuando tiene un Bloque adelante...

Y si porfavor supieran hacer:

Para que mi Personaje pueda Saltar un tipo mario bros nomas xD, y que cuando salte el bloque que se quede parado si un bloque esta abajo..

Codigo:

// MOVIMIENTO :: PERSONAJE

var teclas_a = 0, teclas_d = 0, teclas_w = 0;

document.onkeydown = function(e){
    key = (e==null)?event.keyCode:e.which;
    if(key==68) teclas_d = 1;
    if(key==65) teclas_a = 1;
    if(key==87) teclas_w = 1;

};

document.onkeyup = function(e){
    key = (e==null)?event.keyCode:e.which;
    if(key==68) teclas_d = 0;
    if(key==65) teclas_a = 0;
    if(key==87) teclas_w = 0;
}

var zombie_posX = 312;
var zombie_posY = 367;
var zombie_velX = 0;
var zombie_velY = 0;

var person_posX = 367;
var person_posY = 367;
var person_velX = 0;
var person_velY = 0;
var person_piso = 1;

function logicaJuego(){
    zombie_posX += zombie_velX;
    zombie_posY += zombie_velY;
    document.getElementById('zombie').style.left = zombie_posX+'px';
    document.getElementById('zombie').style.top = zombie_posY+'px';
    
    if(zombie_posX < parseInt($('.tupersonaje').css('left'))){
        zombie_velX = 1;
    }else{
        zombie_velX = -1;
    }
    if( Math.abs(zombie_posX - parseInt($('.tupersonaje').css('left'))) < 2){
        zombie_velX = 0;
    }
    
    person_velX = 0;
    if(teclas_a) person_velX = -2;
    if(teclas_d) person_velX = 2;
    
    if(person_piso == 0){
        person_velY += 1;
        
        if(person_posY > 367){
            person_piso = 1;
            person_posY = 367;
            person_velY = 0;
        }
    }
    
    if(person_piso && teclas_w){
        person_velY =- 10;
        person_piso = 0;
    }

    person_posX += person_velX;
    person_posY += person_velY;
    $('.tupersonaje').css('left', person_posX+'px');
    $('.tupersonaje').css('top', person_posY+'px');
}

$(document).ready(function(){
    setInterval("logicaJuego()",16);
// ENEMIGOS, INTELIGENCIA ARTIFICIAL ::

   // ZOMBIE :

  // if($('#zombie').css('left') == '533px'){

      // $( "#zombie" ).animate({ left: "900px" }, { duration: 10000, );} });

  //} else {

//       $('#zombie').animate({"left": "+=50px"}, "slow");

  // }

});



GRACIAS Y UN SALUDO
0
0
0
0No comments yet