Why does array undefined here?
I have a simple function:
function megaKill(pos, size) {
blasts.push({
pos: pos,
sprite: new Sprite('img/sprites.png', [84, 7], [60, 60], 6, [0, 1])
});
for (var i=0; i<enemies.length; i++) {
if (boxCollides(pos, size, enemies[i].pos, blasts[0].sprite.size)){
enemies.splice(i, 1);
//i--;
explosions.push({
pos: enemies[i].pos,
sprite: new Sprite('img/sprites.png',
[0, 117],
[39, 39],
16,
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
null,
true)
});
}
}
}
The error message is "Uncaught TypeError: Cannot read property 'sprite' of
undefined" in line "if (boxCollides(pos, size, enemies[i].pos,
blasts[0].sprite.size)){". But I have declared blasts before this
functions as global var blasts = [];!
I came from C# world and I really don't know why that array is undefined
after being declared and pushed couple values into it.
Thank you.
No comments:
Post a Comment