代码之家  ›  专栏  ›  技术社区  ›  Tam

在flex中更改照片时如何制作过渡动画

  •  0
  • Tam  · 技术社区  · 14 年前

    我有一个flex中的图像,我想用actionscript更改图像,以显示其他图像,比如说每3秒左右。我还想在图像和下一个图像之间进行转换,例如淡入/淡出。最好的方法是什么?

    3 回复  |  直到 14 年前
        1
  •  1
  •   PIM    14 年前

    如果要在淡出旧图像的同时淡入新图像,请使用平行对象:

    var p:Parallel = new Parallel();
    var fadeOut:Fade = new Fade(image1);
    fadeOut.alphaFrom = 1;
    fadeOut.alphaTo = 0;
    var fadeIn:Fade = new Fade(image2);
    fadeIn.alphaFrom = 0;
    fadeIn.alphaTo = 1;
    p.addChild(fadeOut);
    p.addChild(fadeIn);
    p.duration = 1000; //time in ms
    p.play();
    
        2
  •  1
  •   Robusto    14 年前

    当你已经有了一张图片时,就开始收集:

    使用 Fade 对第一个图像的效果。使它的alpharom=“1.0”和alphato=“0.0”。然后它会发送一个 EffectEnd 事件。在该事件的处理程序中,切换目标图像源并调用另一个 Fade 效果,切换alpharom和alphato值并切换图像源。然后只需使用计时器或设置超时(或设置间隔)在图像上停留一定时间,然后冲洗并重复。请看上面提供的链接中的示例。这真的不难。

        3
  •  1
  •   JeffryHouser    14 年前

    使用计时器更改 image source 属性与 Fade 影响。

    一般要点是:

    1. 计时器结束
    2. 开始淡出效果
    3. 在淡出效果完成时,更改图像源
    4. 开始淡入效果
    5. 淡入完成后,重新启动计时器
    推荐文章