[]关于遍历产生的sprite的点击事件,急,大神帮看哈

var sp;
for(var i=0;i<5;i++){
   sp=new Laya.Sprite();
   sp.index=i;
   Laya.stage.addChild(sp);
}
类似这样遍历出来的sprite 我怎么给每个sprite添加一个点击事件获得对应的sp.index值呢!
已邀请:

q395212409

赞同来自: cuixueying

问题已经解决

cuixueying

赞同来自: q395212409

1、为sprite添加点击事件,需要为sprite设置一个宽高,就是size或hitArea
2、直接在for遍历下对sp进行CLICK的监听即可,sp.size(xxx,xxx);sp.on(Event.CLICK,this,onSpClick)
3、点击sp时,直接获取sp.index值即可(e.target.index)!

lift6220819

赞同来自: q395212409

Laya.init(640,1010); Laya.stage.scaleMode = Laya.Stage.SCALE_SHOWALL; Laya.stage.alignH = Laya.Stage.ALIGN_CENTER; Laya.stage.alignV = Laya.Stage.ALIGN_MIDDLE; var sp; for(var i=0;i<5;i++){ sp=new Laya.Sprite(); sp.graphics.drawRect(0,0,50,50,"red"); sp.y = i*60; sp.index=i; sp.size(50,50); sp.on(Laya.Event.CLICK,this, function (e) { alert(e.target.index); },[{target:sp}]) Laya.stage.addChild(sp); }
 

ayiui4566

赞同来自:

e.target有index属性?会检测期间报错的吧。

ayiui4566

赞同来自:

for(var i=0;i<5;i++){
                var sp = new Laya.Sprite();
                sp.index = i;
            }
ts版本的报错index没有此属性,应该怎么写啊?ts版本的

要回复问题请先

商务合作
商务合作