Bonjour,
Je fais mes débuts en POO javascript pour réaliser mes petits jeu en HTML5.
Après avoir lu quelques sites et quelques bouquins, voir même quelque exercices sur code academy, je me retrouve devant un problème que je ne comprends pas.
J'ai crée un objet qui va me permettre de gérer mes sprites dans ma boucle. Voici mon objet :
Et voici ma boucle ( elle fonctionne hein ^^ ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 var affImg = function(src,srcX,srcY,width,height,x,y){ var img = new Image(); img.src = src; this.srcX = srcX; this.srcY = srcY; this.width = width; this.height = height; this.x = x; this.y = y; this.draw = function(){ if (ctx) { ctx.drawImage(img,srcX,srcY,width,height,x,y,width,height); } else { console.log('ctx indéfini'); } } this.setSrcX = function(newSrcX){ this.srcX = newSrcX; } this.valeur = function(){ console.log('srcX=>'+srcX+'srcY=>'+srcY+'width=>'+width+'height=>'+height+'x=>'+x+'y=>'+y) } }
Mais voila, rien. L'affichage fonctionne bien mais pas de modification la propriété srcX.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var flotte = new affImg('img/sprite_jeu.gif',0,0,50,50,100,100); flotte.srcX = 50; flotte.srcY = 0; var cpt = 0; function loop(){ cpt++; flotte.setSrcX(cpt); flotte.srcX = 150; flotte.draw(); window.requestAnimFrame(loop); }
Comme vous pouvez le voir j'ai même créer un méthode pour la modifé ( appris dans un bouquin sur la POO php ). Mais la encore, celle-ci n'est pas modifié.
Pourtant il me semblait avoir lu qu'on pouvait modifier une propriété lorsque celle-ci était pubic ( via this ).
Pourriez-vous m'éclairer sur le pourquoi je n'arrive pas à modifier cette valeur ?
Merci
Partager