Problème simple en javascript qui pour m'aider ?

Salut-les-khey3
2022-01-07 23:25:03

Toujours considérer comme une variable local avec les corrections

https://image.noelshack.com/fichiers/2022/01/5/1641594287-sans-titre.jpghttps://image.noelshack.com/fichiers/2022/01/5/1641594300-sans-titre2.jpg

Whinot2
2022-01-07 23:28:27

Le 07 janvier 2022 à 23:25:03 :
Toujours considérer comme une variable local avec les corrections

https://image.noelshack.com/fichiers/2022/01/5/1641594287-sans-titre.jpghttps://image.noelshack.com/fichiers/2022/01/5/1641594300-sans-titre2.jpg

ça devrait rien changer dans ton cas si c'est comme en java, mais par soucis de visibilité et pour éviter des erreurs tu devrais rajouter this systématiquement quand il s'agit d'un attribut de classe ( c'est une convention ), donc par exemple systématiquement mettre this.ctx

amongnous
2022-01-07 23:58:04

window.onload = function() {

var canvas;
var canvasWidth = 900;
var canvaHeight = 600;
var blockSize = 30;
var ctx;
var iSave;
var iRestore;
var delay = 1000;
var snakee;

init();

function init() {

canvas = document.createElement('canvas');
canvas.width = canvasWidth;
canvas.height = canvaHeight;
canvas.style.border = "5px solid";
document.body.appendChild(canvas);
ctx = canvas.getContext('2d');
ctx.fillStyle = "#ff0000";
iSave = ctx.save();
iRestore = ctx.restore();
snakee = new snake([[6,4],[5,4],[4,4]]);
snakee.draw();
// refreshCanvas();

// function refreshCanvas(){

// ctx.clearRect(0,0,canvas.width,canvas.height);
// setTimeout(refreshCanvas,delay);

// }

function drawBlock(ctx, position){

var x = position[0] * blockSize;
var y = position[1] * blockSize;
ctx.fillRect(x, y, blockSize, blockSize);
};

function snake(body){

this.body = body;
this.draw = function(){
ctx.fillStyle = "#ff0000";
for(var i = 0; i < this.body.lenght; i++) {
drawBlock(ctx, this.body[i]);
};
iRestore();
iSave()
};
}
}
}

amongnous
2022-01-08 00:03:13

le logiciel le met pas mais ça fonctionne peut-être quand même :/

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.