Hola a todos. El codigo que est� a continuaci�n sirve para mover un moviclip (es) por medio de las flechas del teclado pero cuando hace colisi�n con los muros se detiene. El codigo no me da problemas, pero veo que se hace muy largo, ya que por cada objeto con el que tropieza tengo que agregar 8 lineas de codigo y si coloco muchos objetos pues se har� demasiado largo. Quisiera saber, en caso de que sea factible, como podr�a incluir el codigo en los objetos y no en el movieclip que se mueve, o en su defecto simplificar este codigo para que ocupe menos y funcione lo mejor posible.
 
on (keyPress "<Up>") {
    ypos = ypos-10;
    setProperty ("_root.es", _y, ypos);
    if (base.hitTest(_root.muro)) {
        ypos = ypos+10;
    } else if (base.hitTest(_root.muro2)) {
        ypos = ypos+10;
    } else if (base.hitTest(_root.muro3)) {
        ypos = ypos+10;
    }
    cambiarProfundidad();
}
on (keyPress "<Down>") {
    ypos = (ypos)+10;
    setProperty ("_root.es", _y, ypos);
    if (base.hitTest(_root.muro)) {
        ypos = ypos-10;
    } else if (base.hitTest(_root.muro2)) {
        ypos = ypos-10;
    } else if (base.hitTest(_root.muro3)) {
        ypos = ypos-10;
    }
    cambiarProfundidad();
}
on (keyPress "<Right>") {
    xpos = (xpos)+10;
    setProperty ("_root.es", _x, xpos);
    if (base.hitTest(_root.muro)) {
        xpos = xpos-10;
    } else if (base.hitTest(_root.muro2)) {
        xpos = xpos-10;
    } else if (base.hitTest(_root.muro3)) {
        xpos = xpos-10;
    }
}
on (keyPress "<Left>") {
    xpos = xpos-10;
    setProperty ("_root.es", _x, xpos);
    if (base.hitTest(_root.muro)) {
        xpos = xpos+10;
    } else if (base.hitTest(_root.muro2)) {
        xpos = xpos+10;
    } else if (base.hitTest(_root.muro3)) {
        xpos = xpos+10;
    }
}
 
 
Saludos!!
Laura

Responder a