Esto es lo que sucede cuando con el Arrow Key le doy a la derecha avanza en x y aloja el objeto en la coordenada correcta y pero con una molesta vibración en las subidas y bajadas, y es lógico por el code ya que controlo el falso y verdadero para que se mantenga en el borde. En cambio cuando voy hacía la izquierda todo marcha bien en las subidas!!!, en las bajadas es obvia la vibración por la simulación de gravedad.
Haber porfa quien me ayuda... aquí esta el code y subí el ejemplo. para que lo vean objetivamente
Código :
g=3;
tanke.onEnterFrame=function(){
if((r2=terreno.hitTest(this.r2.getBounds(_root).xMax,this.r2.getBounds(_root).yMax,true))||(r1=terreno.hitTest(this._x+this.r1._x,this._y+this.r1._y,true))){
if(r2){
if(!terreno.hitTest(this.r1.getBounds(_root).xMax,this.r1.getBounds(_root).yMax,true)){
this.r1._y+=g;
//this.cuerpo._y+=g;
}else{suelo=true}
}
if(r1){
if(!terreno.hitTest(this.r2.getBounds(_root).xMax,this.r2.getBounds(_root).yMax,true)){
this.r2._y+=g;
//this.cuerpo._y+=g;
}else{suelo=true}
}
//caminamos
if(suelo){
if(Key.isDown(Key.RIGHT)){
this._x+=2;
controlaColision(this.r1)
controlaColision(this.r2)
}
if(Key.isDown(Key.LEFT)){
this._x-=2;
controlaColision(this.r1)
controlaColision(this.r2)
}
}
}else{
this._y+=g;
}
};
sum=0;
function controlaColision(ins){
while(terreno.hitTest(ins.getBounds(_root).xMax,ins.getBounds(_root).yMax,true))ins._y--
}
el fla http://www.ditmarblog.com/asm/colision.fla
Saludos
