Flex加载图片时会闪的问题

先说我要的吧,我的目的是,加载100张图片,顺序起来是一个连续动作。但是我想要点一下按钮马上播放下一张。但是在过度的时候遇到问题了。超级困惑。imgSrc="images... 先说我要的吧,我的目的是,加载100张图片,顺序起来是一个连续动作。但是我想要点一下按钮马上播放下一张。但是在过度的时候遇到问题了。超级困惑。

imgSrc="images/"+i+".jpg";//大概是这样的路径

<mx:Image source="{imgSrc}" id="img"/>

因为我要的是我点击按钮之后刷新另一张图片i++,

结果刷新是刷新了,但是中间加载的时候就会有白色背景突然闪过,之后才加载出来新的图片。

我试过了用两个<Image>,一个放上层一个放下层,等上层加载完了再改变下层的<Image>。也试过了用一张背景图。
但是还是不理想。中间的过度不平滑。

也不知道我说清楚没。希望有人能解答我的问题,满意的话多多加分。

或者有没有一种方法能够把我要用的图片加载到flex生成的swf里,方便使用,就好像flash里的“库”一样。
我看过有[Embed]方式的但是我有很多张图片 总不能一张张的embed吧。
我是新手 希望大家多多帮助。纯粹乱抄复制别人答案的,将会受到诅咒。

如果我说的不清楚请发消息给我,非常感谢!!!我用的是Flex Builder3
展开
 我来答
匿名用户
2013-09-25
展开全部
出现上面问题应该是新图片还没完成显示就把旧图片remove了

监听新加载的图片事件,在新加载的图片被加载到舞台并完成显示后再删除旧的图片。
loader.addEventListener(Event.COMPLETE,completeHandler);

function completeHandler(e:Event):void
{
var pic = e.currentTarget.content;
pic.addChildEventListener(FlexEvent.CREATION_COMPLETE,creationHandler);
addChild(pic);
}

function creationHandler(e:FlexEvent):void
{
delOldPic();//删除旧图运档数片
}

function delOldPic():void
{
}

大概思路就是这样,或许代码有点问题,自己测试下。
如果在creationHandler里删旁首除图片还是不行,在新pic加个EnterFrame,相当于creationComplete(callLater(delOldPic)),这样一定没问题 .

想要把图片编译成swf再一次行加载也是可以滴,不过内存会猛涨,而且第一次加蠢搭载图片库swf会很慢。如果非要这么做建议用flash cs把图片编译进去,用flex就太大了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式