重要提示:Flash 技术已过时

必须强调一个非常重要的信息:Adobe Flash Player 已于 2025 年 12 月 31 日正式停止支持并被主流浏览器(如 Chrome, Firefox, Edge, Safari)禁用。

flash 轮播图片 制作教程
(图片来源网络,侵删)

这意味着,任何使用旧版 Adobe Flash Professional (Animate) 制作的传统 SWF 文件,在今天的网页上已经无法播放

这个教程的目的主要是:

  1. 学习 Flash 的核心动画原理:Flash 的时间轴补间动画ActionScript 逻辑思想,是现代前端动画(如 CSS3, JavaScript)的基石。
  2. 怀旧与回顾:如果您是设计师或开发者,了解 Flash 有助于理解 Web 动画的发展史。
  3. 在特定环境下运行:您需要一个已安装 Flash Player 的旧版浏览器(如 Firefox 的 ESR 版本并手动启用 Flash)或在 Adobe Animate 软件内部进行测试。

教程目标

我们将制作一个经典的、带有淡入淡出效果的图片轮播组件,当鼠标悬停在轮播图上时,图片会自动切换;鼠标移开时,切换暂停。


准备工作

  1. 软件:安装 Adobe Animate (这是 Adobe Flash Professional 的继任者,但制作传统 Flash 动画的逻辑基本一致),您也可以使用旧版的 Adobe Flash Professional CS6 或更早版本。
  2. 素材:准备几张(4 张)尺寸相同、格式为 JPG 或 PNG 的图片,为了方便,建议尺寸为 800x400 像素。
  3. 新建文档
    • 打开 Adobe Animate。
    • 选择 "ActionScript 3.0" 文档。
    • 在属性面板中,设置舞台大小与您的图片尺寸一致(800x400 像素),背景色设为灰色(便于区分)。
    • 将文档保存为 carousel.fla

第一步:创建轮播元件

  1. 创建新图形元件

    flash 轮播图片 制作教程
    (图片来源网络,侵删)
    • Ctrl + F8 (或 Cmd + F8),打开“创建新元件”对话框。
    • 名称输入 CarouselItem,类型选择“图形”。
    • 点击“确定”。
  2. 放置图片

    • 进入 CarouselItem 元件的编辑界面。
    • 将您的第一张图片直接从文件夹拖到舞台中央,它会自动被转换为位图并居中。
  3. 复制并修改

    • 回到主场景(双击舞台左上角的“场景 1”)。
    • 在“库”面板(Ctrl + L)中,右键点击 CarouselItem,选择“直接复制”。
    • 名称改为 CarouselItem2,类型保持“图形”。
    • 双击进入 CarouselItem2 的编辑界面,在库中选中第二张图片,替换掉舞台上的第一张图片。
    • 重复此操作,为所有图片创建对应的图形元件(CarouselItem3, CarouselItem4...)。

您的库中应该有一系列代表单张图片的图形元件。


第二步:在舞台上布置图片

  1. 拖入元件

    flash 轮播图片 制作教程
    (图片来源网络,侵删)
    • 回到主场景(时间轴第1帧)。
    • 从库中,将 CarouselItem(第一张图)拖到舞台的 (0, 0) 位置(左上角)。
  2. 创建影片剪辑

    • 选中舞台上的 CarouselItem 实例。
    • F8,将其转换为“影片剪辑”,名称设为 CarouselMC
    • 关键:在“注册点”选项中,点击中心点的十字,将注册点设置为舞台中心。
  3. 编辑影片剪辑

    • 双击舞台上的 CarouselMC 实例,进入它的编辑时间轴。
  4. 布置所有图片

    • CarouselMC 的时间轴上,锁定 图层1,然后新建图层,命名为 item2
    • 从库中将 CarouselItem2 拖到 item2 图层的舞台中央。
    • 重复此过程,为所有图片创建新图层(item3, item4...),并将对应的图片元件拖入各自的图层,确保所有图片都精确地重叠在舞台中央。
    • CarouselMC 的时间轴上应该有多个图层,每个图层上都有一张完全重叠的图片。

**第三步:制作淡入淡出动画

这是轮播效果的核心,我们将让图片一张一张地淡入淡出。

  1. 设置关键帧

    • 选中 item1 图层,在第 1 帧上,图片是可见的,在第 25 帧上,按 F6 插入一个关键帧
    • 选中 item2 图层,在第 25 帧上,按 F6 插入一个关键帧,在第 50 帧上,再按 F6 插入一个关键帧。
    • 选中 item3 图层,在第 50 帧上,按 F6 插入一个关键帧,在第 75 帧上,再按 F6 插入一个关键帧。
    • 选中 item4 图层,在第 75 帧上,按 F6 插入一个关键帧,在第 100 帧上,再按 F6 插入一个关键帧。
    • 技巧:为了让循环更平滑,可以在第 100 帧之后,再在第 125 帧为 item1 图层插入一个关键帧,并设置其与第 1 帧相同的透明度。
  2. 创建补间动画

    • 淡出:选中 item1 图层的第 1 帧到第 24 帧之间的任意一帧,在属性面板中,找到“补间”下拉菜单,选择“动画”。
    • 在第 25 帧上,选中舞台上的图片,在属性面板的“颜色效果” -> “样式”中选择“Alpha”,并将值设为 0%,这样,图片就会从 100% 淡出到 0%。
    • 淡入:选中 item2 图层的第 25 帧,在属性面板中创建“动画”补间,在第 25 帧上,选中该图层的图片,将其 Alpha 值设为 0%
    • 选中 item2 图层的第 50 帧,将图片的 Alpha 值设为 100%,Flash 会自动在第 25 帧到第 50 帧之间创建从 0% 到 100% 的淡入效果。
    • 重复此过程
      • item3:第 50 帧 Alpha=0%,第 75 帧 Alpha=100%。
      • item4:第 75 帧 Alpha=0%,第 100 帧 Alpha=100%。
      • item1 (循环):第 100 帧 Alpha=0%,第 125 帧 Alpha=100%。
  3. 延长帧

    • 在所有图层的第 125 帧按 F5,将帧延长至此,确保所有动画都能完整播放。

Ctrl + Enter 测试一下,您应该能看到图片在循环播放了。


**第四步:添加 ActionScript 交互控制

我们要用代码来控制播放和暂停。

  1. 添加图层

    • CarouselMC 的时间轴最上方,新建一个图层,命名为 Actions
  2. 编写代码

    • 选中 Actions 图层的第 1 帧,按 F9 打开“动作”面板。
    • 输入以下 ActionScript 3.0 代码:
    // 停止在第一帧,等待用户交互
    stop();
    // 创建一个事件监听器,监听鼠标滑入事件
    this.addEventListener(MouseEvent.ROLL_OVER, playCarousel);
    // 创建一个事件监听器,监听鼠标滑出事件
    this.addEventListener(MouseEvent.ROLL_OUT, pauseCarousel);
    // 当鼠标滑入时,播放动画
    function playCarousel(event:MouseEvent):void {
        trace("鼠标进入,开始播放");
        this.play();
    }
    // 当鼠标滑出时,停止动画
    function pauseCarousel(event:MouseEvent):void {
        trace("鼠标离开,暂停播放");
        this.stop();
    }
    • 代码解释
      • stop();:让影片剪辑一开始就停在第一帧,而不是自动播放。
      • addEventListener:为整个 CarouselMC 实例添加事件监听器。
      • ROLL_OVER:鼠标滑入组件区域时触发。
      • ROLL_OUT:鼠标滑出组件区域时触发。
      • play()stop():控制时间轴的播放和暂停。

第五步:测试与导出

  1. 测试

    • Ctrl + Enter (或 Cmd + Enter) 测试影片。
    • 您会看到一个 SWF 文件弹出。请注意,由于浏览器安全策略,这个 SWF 文件可能无法直接在文件系统中运行(需要通过 Web 服务器)。
    • 在 Animate 的测试环境中,您可以模拟鼠标悬停效果,看到轮播图是否正常工作,将鼠标放在轮播图上,它应该开始播放;移开鼠标,它应该暂停。
  2. 导出

    • 在 Animate 中,选择 文件 -> 发布设置
    • 确保“Flash”和“HTML”都已勾选。
    • 点击“发布”,Animate 会生成一个 carousel.swf 文件和一个 carousel.html 文件。
    • 您需要将这两个文件上传到一个 Web 服务器上,才能在浏览器中查看效果,或者,使用本地服务器软件(如 XAMPP, MAMP)来本地测试。

现代替代方案

既然 Flash 已经过时,如果您需要制作网页轮播图,强烈推荐以下现代技术:

  1. 纯 CSS 轮播:使用 CSS 的 opacitytransition 属性,配合 hover 伪类,可以实现非常简单的轮播效果,无需任何 JavaScript。
  2. JavaScript 轮播库:这是最主流、最灵活的方式。
    • Swiper.js:功能强大、性能优秀、文档齐全,是首选。
    • Slick Carousel:另一个非常流行且易于使用的轮播库。
    • Bootstrap Carousel:如果您在使用 Bootstrap 框架,它内置了轮播组件。

这些现代方案的优势在于:兼容所有浏览器、对移动设备友好、加载速度快、易于维护和优化,并且符合现代 Web 标准。

希望这个教程能帮助您理解 Flash 轮播的制作原理!