Salut,
Je souhaite modifier des données d'une classe, à travers ce code (simplifié)
Fichier MainBal.as
Fichier Metier.as
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Player.as
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); ...
Le problème est que lorsque je mets une trace pour avoir la valeur de private
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 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; } }, il reste à 100 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part var intLife:Number;
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 !
Partager