[]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);
}
现在勉强这样实现了,但觉得不应该这样弄,求指点:
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);
}
要回复问题请先登录
2 个回复
Laya_XS
赞同来自:
Wx122065323
赞同来自: