Prob: Utilisation d'un Movieclip dans une classe, toujours même instanceutilisée
Bonjour,
je veux créer une classe FallingWord qui consiste à des mots qui tombent à l'écran. Pour ce faire j'ai crééune Classe FallingWord.
Dans cette classe il y a des attributs et un MovieClip.
Lorsque je créer une nouvelle instance de ma classe, on dirait que le même Movieclip est utilisé. Donc si je crée 2 instances de ma classe, il y a un seul Movieclip affiché à l'écran.
Pourtant,les attributs de ma classe elles sont différentes pour chaque instance.
Voici le code:
Dans mon .fla, je crée 2 instances de ma classe
Code:
1 2 3 4 5 6
| var test:fallingword = new fallingword("un test",5,10,10);
var test2:fallingword = new fallingword("2 test",55,100,100);
trace(test.speed); -> 5
trace(test2.speed); -**> 55
test.setposition(10,10) -*> Ceci déplace le MovieClip avec le text: "2 test" |
La classe:
Code:
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| class fallingword extends MovieClip
{
public var speed:Number;
private var txt:String;
private var img:String;
private var snd:String;
private var gender:String;
public var mcMot:MovieClip;
///Button labels
static function get txtWord():TextFormat
{
var my_fmt:TextFormat = new TextFormat();
my_fmt.underline = false;
my_fmt.bold = true;
my_fmt.size = 20;
my_fmt.font = "Arial";
my_fmt.align = "center";
return my_fmt;
}
public function fallingword(inittxt:String,initspeed:Number,initx:Number,inity:Number) // ajouter autre param...
{
txt = inittxt;
speed = initspeed;
mcMot = _root.attachMovie("motBoite","newclip"+String(initspeed),this.getNextHighestDepth());
//defaut
mcMot._x = initx;
mcMot._y = inity;
var label:TextField = mcMot.createTextField("label", 1, 0, 0, mcMot._width, mcMot._height);
label.text = txt;
label.textColor = 0x000000;
label.setTextFormat(txtWord);
}
public function setspeed (newspeed:Number)
{
speed = newspeed;
}
public function setposition (newx:Number,newy:Number)
{
mcMot._x = newx;
mcMot._y = newy;
}
} |
Merci pour votre aide.