[]循环添加一组按钮事件无法正常使用


循环添加啦一组按钮,但是按钮事件无法正常执行,单独给文本添加啦同一组事件,可以正常执行
 
 
private function addEgg():void
        {
            trace("addEgg");
            for(var i:int = 0; i<eggLoc.length; i++)
            {
                //trace(eggLoc[i][1]+"  "+eggLoc[i][0]);
                    var yy0 = eggLoc[i][1]/2;
                    var yy1 = parseInt(eggLoc[i][1]/2);
                    
                    var tx;
                    var ty;
                    
                    eggHoleWidth = 83;
                    eggHoleHeight = 83;
                    if(yy0 == yy1)
                    {
                        tx = dx + eggLoc[i][0]*eggHoleWidth;
                    }
                    else
                    {
                        tx = dx + eggLoc[i][0]*eggHoleWidth + floatX;
                    }
                    ty = dy + eggLoc[i][1]*eggHoleHeight;
                    

                    //checkLoc[eggLoc[i][0]][eggLoc[i][1]]= 1;
                var b:Sprite = new Sprite();
                //var c = this.getChildByName("eggHole"+[eggLoc[i][0]+eggLoc[i][1]);
                b.graphics.drawTexture(Laya.loader.getRes(Res),tx-45,ty-45);
                b.size(92,96);
                b.name = "egg"+i;
                Laya.stage.addChild(b);

                b.on(Event.MOUSE_DOWN, this, mouseHandler);
                b.on(Event.MOUSE_MOVE, this, mouseHandler);
                b.on(Event.MOUSE_UP, this, mouseHandler);
                trace("addEvent");
            }
        }

        private function mouseHandler(e:Event=null)
        {
            trace("mouseEvent");
            trace("e "+e.target);
            switch (e.type)
            {
                case Event.MOUSE_DOWN:
                    trace("press");
                    e.target.startDrag();
                    break;
                case Event.MOUSE_MOVE:
                    trace("move");
                    break;
                case Event.MOUSE_UP:
                    trace("release")
                    e.target.stopDrag();
                    break;
            }
            
        }
已邀请:

cuixueying

赞同来自: anlijames

改下drawTexture针对坐标的设置用pos表示就好了,drawtexture下设置x,y改变的是纹理相对于b(父级)的位置改变,p.pos改变的是p容器的位置
	           b.graphics.drawTexture(Laya.loader.getRes(Res));
b.pos(tx-45,ty-45);
b.size(92,96);
b.name = "egg"+i;
Laya.stage.addChild(b);

anlijames

赞同来自:

谁能帮帮我啊~~~~

anlijames

赞同来自:

哦哦,原来如此,太感谢啦

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作