Javascript erreur
Zed-X
Messages postés
24
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
bonjours,
Je voudrais que lorsque mon canvas se dessine aux nouvelle coordonnées après avoir appuyé sur la touche, il s'efface aux précédentes coordonnées (pour donner l'impression de déplacer mon image avec les touches)
j'ai donc utilisé une fonction clearrect pour cela mais lorsque je lance le jeu, j'ai
une erreur:
TypeError: Not enough arguments to CanvasRenderingContext2D.clearRect.
Merci d'avance pour votre aide
voici mon code :
Je voudrais que lorsque mon canvas se dessine aux nouvelle coordonnées après avoir appuyé sur la touche, il s'efface aux précédentes coordonnées (pour donner l'impression de déplacer mon image avec les touches)
j'ai donc utilisé une fonction clearrect pour cela mais lorsque je lance le jeu, j'ai
une erreur:
TypeError: Not enough arguments to CanvasRenderingContext2D.clearRect.
Merci d'avance pour votre aide
voici mon code :
function montreJeu(){
document.getElementById('pglobal').className="cache";
document.getElementById('jglobal').className="montre";
}
var monCanvas = document.getElementById('dessin');
var ctx = monCanvas.getContext('2d');
ctx.clearRect(100,100, monCanvas.width, monCanvas.height);
tabl=[['ninja.png', 0, 400]]; // source, x, y
var ninja = new Image();
ninja.src = tabl[0][0]
ninja.onload = function(){
ctx.drawImage(ninja,tabl[0][1],tabl[0][2]);
};
window.setInterval(function () {bouclejeu()}, 100);
function bouclejeu(){
//efface clearrect
ctx.clearRect(tabl[0][2]);
ctx.drawImage(ninja,tabl[0][1],tabl[0][2]);
console.log(tabl[0][2]);
}
document.addEventListener('keypress',function(depl)
{
if (depl.keyCode === 38) //fleche du haut
{
console.log('ninja.png');
tabl[0][2] = tabl[0][2]-10;
}
else if (depl.keyCode === 40)
{
console.log('ninja2.png');
tabl[0][2] = tabl[0][2]+10;
}
}, false);
A voir également:
- Javascript erreur
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Corriger l'erreur 0x80070643 de la mise à jour KB5034441 de Windows 10 - Accueil - Windows
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
1 réponse
Je présume que c'est cette ligne là où tu as l'erreur:
ctx.clearRect(tabl[0][2]);
C'est normal car tu as pas mis tout les paramètres, il lui fait deux points, et pour savoir où se trouve un point il faut 2 coordonées (X et Y)
Du coup clearRect s'écrit de cette façon:
ctx.clearRect(x1,y1,x2,y2);
Si tu veux tout effacer tu peux toujours faire ceci
ctx.clearRect(0, 0, monCanvas.width, monCanvas.height);
ctx.clearRect(tabl[0][2]);
C'est normal car tu as pas mis tout les paramètres, il lui fait deux points, et pour savoir où se trouve un point il faut 2 coordonées (X et Y)
Du coup clearRect s'écrit de cette façon:
ctx.clearRect(x1,y1,x2,y2);
Si tu veux tout effacer tu peux toujours faire ceci
ctx.clearRect(0, 0, monCanvas.width, monCanvas.height);