bonjour/bonsoir
j'ai d'abord créé un movieClip que j'ai nommé carre. Je l'ai exporté en AS3.
j'ai déclaré une classe carreDiagonale héritée du movieClip carre. Et j'ai donc rajouté une méthode publique pour qu'a chaque appel, le x et le y soient incrémentés de 1;
voici la classe
Code ActionScript :
package
{
public class carreDiagonale extends carre
{
function eclaireur():void
{
this.x = 0;
this.y = 0;
}
public function deplacer():void
{
this.x += 1;
this.y += 1;
}
}
}
Dans ma classe principale,
et voici ma classe principale
Code ActionScript :
package
{
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.events.*;
public class demo extends MovieClip
{
var carreSimple:MovieClip;
function demo():void
{
initialisation();
}
function initialisation():void
{
carreSimple = new carreDiagonale();
carreSimple.width = 32;
carreSimple.height = 32;
carreSimple.name = "en diagonale";
addChild(carreSimple);
stage.addEventListener(Event.ENTER_FRAME, demoEnCours);
}
function demoEnCours(evt:Event):void
{
var texteCible:String;
var cible:DisplayObject;
// verification que la méthode fonctionne en connaissant le MC
carreSimple.deplacer();
// recuperation du MC en fonction de son nom
texteCible = "en diagonale";
cible = getChildByName(texteCible);
if(cible != null)
{
//cible.deplacer(); // message d'erreur a la compilation
}
}
}
}
le carreSimple.deplacer() fonctionne parfaitement, mais le cible.deplacer() me donne un message d'erreur :
1061: Appel à la méthode deplacer peut-être non définie, via la référence de type static flash.display:DisplayObject.
comment faire pour que la seconde solution soit valide (donc sans pour autant connaitre l'instance du MC mais en connaissant la propriété name)?
merci d'avance