-
Double Array Mouse Action Problem
Hi ;
I have a double array which contains 3 different classes objetcs. I want all these instances to have addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) ; listeners independently. How can I define this for all instances Im trying to make Chinese Dama
Thanx;
-
Can you provide a sample of your current code?
-
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;
var i:Number;
var j: Number;
var num1 :int = 0;
var num2 :int = 0;
var nRandomInteger:Number;
var marr = new Array(10)
for (i=0; i <11; i++)
marr[i]=new Array(15)
for(i = 0 ; i <11; i++)
for(j = 0; j< 9 ; j++)
{
num1 = (j*35) + 20 ; // x
num2 = (i*35) +100; // y
if(i == 5 && j == 4)
{
var aa : beyaz = new beyaz;
aa.x= num1;
aa.y = num2;
aa.buttonMode = true;
addChild(aa);
}
else
{
nRandomInteger = Math.floor(Math.random()*3) +1;
if(nRandomInteger==1)
{
var a :kirm = new kirm();
a.x= num1;
a.y = num2;
a.buttonMode = true;
marr[i][j] = a;
addChild(marr[i][j]);
}
if(nRandomInteger==2)
{
var b :mavi = new mavi();
b.x = num1;
b.y = num2;
//marr[i][j].addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
marr[i][j] = b;
addChild(marr[i][j]);
}
if(nRandomInteger==3)
{
var c :yesil = new yesil();
c.x = num1;
c.y = num2;
//marr[i][j].addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
marr[i][j] = c;
addChild(marr[i][j]);
}
}
}
var i :int = 0;
var j :int = 0;
for(i = 0 ; i < 9 ; i ++)
for(j = 0 ; j < 11; j ++)
{
marr[i][j].addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) ;
}
function mouseDown(event:MouseEvent):void
{
a.startDrag(); //???
}
Moreover tha arraylist that I ve reated on the top is printed item over item when I select only one and drag it it dissepears (goes under other items) also how can I solve this problem
-
by the way beyaz kirm sari are the classes whic is 35 35 pixel rectangles
-
Code:
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;
var offsetX:int=20;
var offsetY:int=100;
var beyaz_obj:beyaz = new beyaz();
var sWidth:Number=beyaz_obj.width;
var sHeight:Number=beyaz_obj.height;
var kirm_obj:kirm;
var mavi_obj:mavi;
var yesil_obj:yesil;
var marr:Array;
//----------------------
makeGrid(11,9);
//----------------------
function makeGrid(rows,cols):void {
marr=new Array(rows);
for (var i:uint=0; i <marr.length; i++) {
marr[i]=new Array(cols);
for (var j:uint= 0; j<marr[i].length; j++) {
if (i==5&&j==4) {
beyaz_obj=new beyaz();
setUpTile(beyaz_obj, j, i);
} else {
switch (Math.floor(Math.random()*3)+1) {
case 1 :
kirm_obj = new kirm();
marr[i][j]=kirm_obj;
setUpTile(kirm_obj, j, i);
break;
case 2 :
mavi_obj = new mavi();
marr[i][j]=mavi_obj;
setUpTile(mavi_obj, j, i);
break;
case 3 :
yesil_obj = new yesil();
marr[i][j]=yesil_obj;
setUpTile(yesil_obj, j, i);
break;
}
}
}
}
}
function setUpTile(_obj:*,num1:uint,num2:uint):void {
_obj.x=(num1*sWidth) + offsetX;
_obj.y=(num2*sHeight) +offsetY;
_obj.buttonMode=true;
_obj.addEventListener(MouseEvent.MOUSE_DOWN, doDown, false, 0, true);
addChild(_obj);
}
function doDown(e:MouseEvent):void {
setChildIndex(e.currentTarget as DisplayObject, (numChildren-1));
e.currentTarget.startDrag();
e.currentTarget.addEventListener(MouseEvent.MOUSE_UP, doUp, false, 0, true);
e.currentTarget.removeEventListener(MouseEvent.MOUSE_DOWN, doDown);
}
function doUp(e:MouseEvent):void {
e.currentTarget.stopDrag();
e.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, doUp, false);
e.currentTarget.addEventListener(MouseEvent.MOUSE_DOWN, doDown, false, 0, true);
}
-
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|