Ok donc je crée un jeu avec JavaScript Canvas Elements et autres. J'ai pu charger des tonnes d'images, mais sur quelques-unes, les réponses JavaScript avec des erreurs telles que
TypeError non capturé: Échec de l'exécution de "drawImage" sur "CanvasRenderingContext2D": Aucune fonction correspondant à la signature fournie n'a été trouvée.
Ce qui ne fait aucun sens, car le même code fonctionne dans d'autres endroits!?!
Voici un exemple que j'ai dans mon code:
board.drawImage(document.getElementById("player_explode"), this.x, this.y);
A l'intérieur d'une méthode d'objets, Player.die()
, respectivement.
Est-ce que quelqu'un sait pourquoi ce comportement se produit? Je suis très frustré à ce sujet ...
Voici un JSFiddle pour démontrer, à côté de tout le code. Player.die()
se trouve sur line[242]
.
Le problème était la façon dont je chargeais mes images, j'aurais dû faire:
var image = new Image();
image.src = "imagesource.jpg";
Mais à la place, j'ai obtenu les éléments par id à partir de la page document
.
Ressources:
vous devez attendre que tous les éléments soient chargés, alors faites comme ceci:
window.onload=function(){
board.drawImage(document.getElementById("player_explode"), this.x, this.y);
}