[]layaAir如何实现for循环加载多张图片,并且通过事件按比例缩小

想通过for循环用image组件加载图像,然后根据图像的原始比例按照固定的宽度等比例缩小。可是image加载图像后怎么调度响应事件?在事件中用什么方法指向image本身。as3中是侦听器接受event事件,然后用event.targe指向。layaair折腾半天,搞不明白image组件,sprite.loadImage,Laya.loader.load如果用for循环操作,响应事件中用什么方法指向事件的发起对象?原来用e.target和e.data。现在事件发起者和加载的数据怎么得到呢?(不用循环可以用直接用变量名,用了循环就不知道怎么获取了)
现在勉强这样实现了,但觉得不应该这样弄,求指点:
        private function showPic():void
        {
            apesCtn=new Sprite()
            Laya.stage.addChild(apesCtn);
            for (var i:int = 0; i < 4; i++ )
            {
                Laya.loader.load(picAy[i],Handler.create(this, onAssetLoaded))
            }
        }
        private function onAssetLoaded(texture:Texture):void
        {
            var ape:Sprite = new Sprite;
            ape.x=(apesCtn._childs.length)*(stageWidth/4)
            var bl:Number=texture.width/texture.height
            ape.graphics.drawTexture(texture,0,0,stageWidth/4,stageWidth/4/bl);
            apesCtn.addChild(ape);
        }
已邀请:

Laya_XS

赞同来自:

引擎中的Laya.loader.load方法第一个参数可以是数组也可以是单个url地址,我觉得你没有必要在自己这个循环去加载图片,你可以把需要加载的多张图片放到一个数组里加载,在回调完成方法里通过Loader.getRes方法来获取加载的图片信息,这样就解决你的问题了,有不明白的可以加官方的qq群,谢谢!

Wx122065323

赞同来自:

谢谢

要回复问题请先

商务合作
商务合作