mapi3
Messages postés17Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention20 janvier 2010
-
27 mars 2006 à 21:35
mapi3
Messages postés17Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention20 janvier 2010
-
29 mars 2006 à 12:18
Bonsoir,
J'essaie d'utiliser les classes ActionScript. Ca marche pas mal sauf
que dans une classe il m'est impossible d'appeler un attribut lorqu'il
est une instance d'une classe que j'ai crée. En dehors ca marche
(nomdinstance.attribut) mais dans la classe meme c'est impossible:
Exemple. L'attribut est _pere de type Noeud. Il m'est impossible
d'appeler dans la classe Noeud: trace(_pere) par exemple ni meme
trace(getPere());
Meri d'avance...
Une partie du code donne:
class Noeud extends MovieClip{
var _pere:Noeud;
function Noeud(xml:XML, pere:Noeud, nbEnfants:Number){
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 29 mars 2006 à 08:42
C'est encore plus simple que je ne pensais! lol
Inverse simplement le setNiveau et le setPere dans ton constructeur! Ensuite, à la place de "undefined" je récupère [type Object] ...ce qui est beaucoup mieux déjà!
Suffit de remplacer alors ton "trace(this._pere);" par "trace(_pere._number);" pour voir que tu accèdes bien aux propriétés du père.
Dans mon .fla de test, voilà ce que j'ai:
var xml:XML = new XML("<racine></racine>");
var n0:Noeud = new Noeud(xml, null, 4, 2);var n:Noeud new Noeud(xml, n0, 3, 1);> ça me retourne donc "undefined" et 2! Cool!!! Par contre, une remarque: est-ce que _number est facultatif? Car avoir "null" dans une déclaration de classe...bof, j'aurais mis _pere en dernière position (à moins que _number soit plus souvent facultatif!)
SuperDevy
Messages postés842Date d'inscriptiondimanche 24 novembre 2002StatutMembreDernière intervention 2 juillet 2007 27 mars 2006 à 23:02
extends MovieClip > voici le problème !
Pour créer un MovieClip tu ne peut faire que attachMovie(libid...). tu ne peut donc pas donner des arduments au constructeur.
Crées une fonction init(args) {...} pour faire l'initialisation de ton occurence.