Bonjour,
Dans une classe actionscript, j'ai une variable obj_extent (instance d'une classe Extent que j'ai créée), un movie clip movie_geometry. J'implémente quelques fonctions du movie clip, à l'intérieur desquelles je voudrait mettre à jour mon obj_extent mais il est undefined...
Voici un bout de code :
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 class zig.MovieZigRectangle extends zig.MovieZig { private var obj_extent:Extent; public function MovieZigRectangle(parent_param:MovieClip, index:Number) { this.obj_extent = new Extent(); this.parent = parent_param; this.parent.createEmptyMovieClip("movie_geometry"+index,this.parent.getNextHighestDepth()); this.movie_geometry = this.parent["movie_geometry"+index]; this.movie_geometry.onMouseDown = function() { delete this.onEnterFrame; this._x=this._xmouse; this._y=this._ymouse; this.onEnterFrame = function() { var widthDraw = _xmouse - this._x; var heightDraw = _ymouse - this._y; this.draw(widthDraw,heightDraw); } }; this.movie_geometry.onMouseUp = function() { trace(obj_extent); // DONNE UNDEFINED... delete this.onEnterFrame; delete this.onMouseDown; }; this.movie_geometry.draw = function(widthDraw:Number, heightDraw:Number) { // mise à jour de l'extent //TODO à convertir en coord géo if(widthDraw >= 0) { obj_extent.setXmin(this._x); obj_extent.setXmax(this._x + widthDraw); } else { obj_extent.setXmin(this._x + widthDraw); obj_extent.setXmax(this._x); } if(heightDraw >= 0) { obj_extent.setYmin(this._y); obj_extent.setYmax(this._y + heightDraw); } else { obj_extent.setYmin(this._y + heightDraw); obj_extent.setYmax(this._y); } } }
Il me dit que c'est undefined dans le trace(obj_extent) car à ce moment là le scope (this) est sur le movie clip et non sur ma classe... Avez vous une idée ?
Merci !
WwAvE
Partager