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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
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.