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"