Javascript setTimout Question
Posted: 16 Nov 2020, 13:18
I am following the excellent book Foundation Game Design with HTML5 and Javascript.
I have a piece of code, which works but i'm not sure why.
function destroyAlien(alien)
{
//Change the alien's state and update the object
alien.state = alien.EXPLODED;
alien.update();
//Remove the alien after 1 second
setTimeout(removeAlien, 1000);
function removeAlien()
{
removeObject(alien, aliens);
removeObject(alien, sprites);
}
As you can see it is a function which uses setTimout to call another function. It only calls removeAlien function when it is inside the main function. If I move callAlien function out of the main function it does not work. I am puzzled as to why this is.
Can any sage member here tell me why this is?
Thanks in advance
Crock
I have a piece of code, which works but i'm not sure why.
function destroyAlien(alien)
{
//Change the alien's state and update the object
alien.state = alien.EXPLODED;
alien.update();
//Remove the alien after 1 second
setTimeout(removeAlien, 1000);
function removeAlien()
{
removeObject(alien, aliens);
removeObject(alien, sprites);
}
As you can see it is a function which uses setTimout to call another function. It only calls removeAlien function when it is inside the main function. If I move callAlien function out of the main function it does not work. I am puzzled as to why this is.
Can any sage member here tell me why this is?
Thanks in advance
Crock