Modification de données private d'une classe
Salut,
Je souhaite modifier des données d'une classe, à travers ce code (simplifié)
Fichier MainBal.as
Code:
1 2 3 4 5 6 7 8 9
| #include "Metier.as"
import Player;
var perso1:Player=new Player();
var perso2:Player=new Player()
Joueur2.gotoAndPlay(perso2.listCoup[a]); //mouvement attaquant
Joueur1.gotoAndPlay(perso1.listCounter[a]); // mouvement défenseur
var strResAttack:String=ManageLife(perso2,perso1,a); |
Fichier Metier.as
Code:
1 2 3 4 5 6 7 8
| import Player;
function ManageLife(clsAttack:Player,clsCounter:Player,i:Number):String
...
var vie:Number=clsCounter.Life-20;
trace ("vie :"+vie);
clsCounter.Life(vie);
... |
Fichier Player.as
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Player
{
private var intLife:Number;
public function Player(){
intLife=100;
}
function set Life(intLife:Number):Void {
this.intLife = intLife;
}
function get Life():Number {
return this.intLife;
}
} |
Le problème est que lorsque je mets une trace pour avoir la valeur de private
Code:
var intLife:Number;
, il reste à 100 ! :(
Je me dis que c'est une question de passage par valeur ou référence, mais sur actionscript, je sèche complet. Quelqu'un saurait-il où ca coince ? J'ai peut-être mal fait qqch !