Bonjour,

J'aimerai avoir accès à des attributs de mon objet dans une fonction privé qui est dans une de me méthodes.

Mon constructeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
var affImg = function(s,sX,sY,w,h,x,y){
 
    this.img = new Image();
    this.img.src = s;
 
    this.srcX = sX;
    this.srcY = sY;
    this.width = w;
    this.height = h;
    this.posx = x-this.width/2;
    this.posy = y-this.height/2;
}
Mon problème :
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
 
affImg.prototype.move = function(){
 
    var sensX=3;
    var sensY=3;
 
    this.posx+=sensX;
    this.posy+=sensY;
 
    var resetPosition = function(){
        this.posx=-50;
        this.posy=-50;
 
        sensX=Math.random();
        sensY=Math.random();
 
    }
 
    if ( this.posx > windowWidth || this.posy > windowHeight){
        resetPosition();
        console.log(this.posx+' et '+this.posy+' et '+sensX+' et '+sensY);
    } else if ( this.posx < -50 || this.posy < -50 ){
 
    }
 
}
Ceci va évidemment me poser un problème car this.posx et this.posy ( ligne 11 et 12 ) ne sont pas les même que ceux 4 lignes plus haut ( ligne 7 et 8 ).

Je pourrai très bien solutionner mon problème rapidement en rendant le tout non privé comme ceci :

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
 
affImg.prototype.move = function(){
 
    var sensX=3;
    var sensY=3;
 
    this.posx+=sensX;
    this.posy+=sensY;
 
    this.resetPosition = function(){
        this.posx=-50;
        this.posy=-50;
 
        sensX=Math.random();
        sensY=Math.random();
 
    }
 
    if ( this.posx > windowWidth || this.posy > windowHeight){
        this.resetPosition();
        console.log(this.posx+' et '+this.posy+' et '+sensX+' et '+sensY);
    } else if ( this.posx < -50 || this.posy < -50 ){
 
    }
 
}
Mais mon but étant d'apprendre, j'aimerai garder cette fonction privé puisqu'elle n'a aucune utilité ailleurs.
Mon but étant de pouvoir réussir à créer de jolies codes orientés objets en définissant bien ce qui est privé de publique.

Mais dans ce genre de cas, comment accéder à this.posx dans ma fonction privé ?