Hi all:
I have written a class which makes a grid outta a movieclip in the library. I try to fire a “onGridCreated” event but it wont work. Any Ideas? Here’s my class:
import mx.events.EventDispatcher;
class com.reynaldo.Grid extends MovieClip {
public var addEventListener:Function;
public var removeEventListener:Function;
public var dispatchEvent:Function;
private var depth:Number;
private var gridWidth:Number;
private var gridHeight:Number;
private var _container:MovieClip;
private var _gridItem:String;
private var _columns:Number;
private var _rows:Number;
private var _colSpace:Number;
private var _rowSpace:Number;
private var _cont:MovieClip
function Grid(container:MovieClip, gridItem:String, columns:Number, rows:Number, colSpace:Number, rowSpace:Number) {
mx.events.EventDispatcher.initialize(this);
this._container = container;
this._gridItem = gridItem;
this._columns = columns;
this._rows = rows;
this._colSpace = colSpace;
this._rowSpace = rowSpace;
init();
}
private function init():Void {
for (var b:Number = 0; b<_rows; b++) {
for (var a:Number = 0; a<_columns; a++) {
depth = _container.getNextHighestDepth();
_container.attachMovie(_gridItem, _gridItem+"_"+(depth+1), depth);
_cont = _container[_gridItem+"_"+(depth+1)]
gridWidth = (_cont._width*_columns)+(_colSpace*(_columns-1));
gridHeight = (_cont._height*_rows)+(_rowSpace*(_rows-1));
_cont._x = a*(Math.floor(gridWidth/_columns));
_cont._y = b*(Math.floor(gridHeight/_rows));
}
}
dispatchEvent({type:"onGridCreated", target:this});
}
private function toString() {
return ("[Grid]");
}
}