Calling A Function Inside Settimeout And Inside A Function
basically I have written a function: function animation(){ setTimeout( function(){ requestAnimationFrame(animation); if (player.currentFrame == player
Solution 1:
setTimeout will only call the function once after the time has elapsed, so unless you call animation again with fps, it will simply run once and be done. You could use setInterval to call the function every 1000/fps milliseconds.
var frame = 0;
animation(20);
functionanimation(fps){
console.log(fps)
setInterval(
function(){
console.log("A");
document.getElementById("sp1").innerHTML = frame;
frame++;
}
, 1000 / fps);
}
Sample fiddle: http://jsfiddle.net/Up4Cq/
Or if you want to use setTimeout, you need to call the animation function again:
functionanimation(fps){
console.log(fps)
setTimeout(
function(){
console.log("A");
document.getElementById("sp1").innerHTML = frame;
frame++;
animation(fps);
}
, 1000 / fps);
}
Here is the fiddle for setTimeout: http://jsfiddle.net/Up4Cq/1/
Solution 2:
Did you tried this syntax
functionanimation(fbs){
requestAnimationFrame(animation);
if (player.currentFrame == player.frames) {
player.currentFrame = 0;
} else {
player.currentFrame++;
}
setTimeout(function(){animation(fbs) }, 1000 / fbs);
}
I changed the code from setTimeout('animation(fbs)', 1000 / fbs); to setTimeout(function(){animation(fbs) }, 1000 / fbs);
Post a Comment for "Calling A Function Inside Settimeout And Inside A Function"