将缓动方法应用于 ComboBox 组件

更改 ComboBox 组件上默认缓动方法的过程类似于将缓动方法应用于 Accordion 组件中修改 Accordion 组件动画的示例。在以下示例中,使用 ActionScript 在运行时将组件动态地添加到舞台上。

要将缓动方法应用到 ComboBox 组件:

  1. 创建一个新的 Flash 文档,并将其另存为 combobox.fla。
  2. 将 ComboBox 组件的副本从"组件"面板拖到当前文档的库中。

    注意

    该组件将出现在库中(不是舞台上),在运行时可供 SWF 文件使用。

  3. 插入一个新的图层,并将其重命名为 actions。

    确定 actions 图层是在层 1 上面。

  4. 在 actions 图层的第 1 帧中添加以下 ActionScript 代码:
    import mx.transitions.easing.*;
    this.createClassObject(mx.controls.ComboBox, "my_cb", 20);
    var product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze", "Director", "Flex");
    my_cb.dataProvider = product_array;
    my_cb.move(10, 10);
    my_cb.setSize(140, 22);
    my_cb.setStyle("openDuration", 2000);
    my_cb.setStyle("openEasing", Elastic.easeOut);
    

    导入每个缓动方法后(它们出现在代码的第一行),createClassObject() 方法将创建 ComboBox 组件的实例。代码第二行中的 this 关键字是指 SWF 文件的主时间轴。此行代码在运行时将组件放到舞台上,并为其指定实例名称 my_cb

    然后,创建一个名为 product_array 的数组,其中包括 Macromedia 软件列表。在下一行代码中使用该数组将 dataProvider 属性设置为产品名称组成的数组。然后使用 setSize() 方法来调整该组件实例的大小,将 openDuration 设置为 2000 毫秒(2 秒),并将缓动方法更改为 Elastic.easeOut

    注意

    如前几个示例中那样导入缓动类,它们使您能够使用简化形式的类名称,而不是使用完全限定的类名称 mx.transitions.easing.Elastic.easeOut

  5. 保存当前文档,然后选择"控制">"测试影片"以在测试环境中查看此文档。
  6. 单击舞台上的 ComboBox 组件,以使用指定的缓动类使产品名称下拉列表产生动画效果。

    注意

    对 ComboBox 或 Accordion 组件使用缓动方法(如 Elastic 或 Bounce)时要小心。有些用户可能会感觉,如果选项需要很长时间才能停止移动,以便可以从菜单中读取和选择,这会很混乱。请测试各个应用程序和设置,然后确定缓动方法是增强了 Flash 文档的功能,还是减小了。