[AS2] Problème d'accès variable
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:
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