A Flash Developer Resource Site

Results 1 to 6 of 6

Thread: Double Array Mouse Action Problem

  1. #1
    Junior Member
    Join Date
    Nov 2010
    Posts
    6

    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;

  2. #2
    :
    Join Date
    Dec 2002
    Posts
    3,518
    Can you provide a sample of your current code?

  3. #3
    Junior Member
    Join Date
    Nov 2010
    Posts
    6
    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

  4. #4
    Junior Member
    Join Date
    Nov 2010
    Posts
    6
    by the way beyaz kirm sari are the classes whic is 35 35 pixel rectangles

  5. #5
    :
    Join Date
    Dec 2002
    Posts
    3,518
    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);
    }

  6. #6
    Junior Member
    Join Date
    Nov 2010
    Posts
    6
    Thanx a lot!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center