Mouse.CLICK is not working properly when i click the movie clips.
I have generated a random grid from movie clips stored in timeline. When I click on the movie clips, it should show a trace statement, but it is not working properly. Sometimes it shows the trace message, sometimes it does not show.
My code is like this
package
{
import flash.display.*;
import flash.events.*;
public class Main extends MovieClip
{
static const numPieces:uint = 7;
static const spacing:Number = 45;
static const offsetX:Number = 10;
static const offsetY:Number = 10;
private var gameSprite:Sprite;
private var grid:Array;
private var newPiece:Piece;
public function Main()
{
grid = new Array();
for (var gridrows:int=0; gridrows<8; gridrows++) {
grid.push(new Array());
}
setupGrid();
}
public function setupGrid()
{
gameSprite = new Sprite();
for (var col:int=0; col<8; col++)
{
for (var row:int=0; row<8; row++) {
addPiece(col,row);
}
}
addChild(gameSprite);
}
public function addPiece(col, row:int):Piece
{
var newPiece:Piece = new Piece();
newPiece.x = col*spacing+offsetX;
newPiece.y = row*spacing+offsetY;
newPiece.col = col;
newPiece.row = row;
newPiece.type = Math.ceil(Math.random()*7);
newPiece.gotoAndStop(newPiece.type);
gameSprite.addChild(newPiece);
grid[col][row] = newPiece;
newPiece.addEventListener(MouseEvent.CLICK,clickPiece);
return newPiece;
}
public function clickPiece(e:Event)
{
trace('hello');
}
}
}
and please someone tell me what this code does… I copied it from some tutorial site…
inside Main function
grid = new Array();
for (var gridrows:int=0; gridrows<8; gridrows++) {
grid.push(new Array());
}
inside addPiece function
grid[col][row] = newPiece;
Any help … much appreciated…