Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/08/2012, 22:08
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Uso de requestAnimationFrame

A ver si con un ejemplo queda más claro (traté de imaginar a qué llamás run y a qué paint; no sé si lo logré ):
Código PHP:
<!DOCTYPE html>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title></title>
<
style>
#c{width:50px; height:50px; position:absolute; background:orange;}
</style>
<
script type="text/javascript">
window.requestAnimFrame = (function() {
     return 
window.requestAnimationFrame ||
            
window.webkitRequestAnimationFrame ||
            
window.mozRequestAnimationFrame ||
            
window.oRequestAnimationFrame ||
            
window.msRequestAnimationFrame ||
            function(
callback) {
                
window.setTimeout(callback17);
            };
})();
function 
run(p){
    
//calcular movimiento y redibujar
    
var el=document.getElementById('c'), x=parseInt(el.style.left,10) || 0;
    if(
x<|| x>960){
        
p*=-1;
    }
    
x+=p;
    
setTimeout(function() {
        
requestAnimFrame(function(){run(p);});//volvemos a llamar a run
        
paint(x);
    }, 
17);
}
function 
paint(x){
    
//redibujar
    
document.getElementById('c').style.left=x+'px';
}
onload=function(){run(5);};
</script>

</head>

<body>
<div id="c"></div>
</body>
</html>