处理按钮事件(仅限于 Flash Professional)

可以使用按钮快速向 Flash Lite 应用程序中添加交互。Flash Lite 与桌面计算机上的 Flash Player 支持相同的按钮事件,但是某些事件(例如 onDragOut)仅在具有鼠标或笔针接口的设备上可用。在仅具有小键盘接口的设备上,按钮必须具有小键盘焦点才能生成任何事件。

Flash Lite 支持以下 ActionScript 按钮事件:

按钮事件

说明

onDragOut

仅在具有鼠标或笔针的设备上支持。当用户在按钮上按下鼠标按钮,然后将鼠标指针拖动到按钮之外时调用。

onDragOver

仅在具有鼠标或笔针的设备上支持。当用户在按钮外部按下鼠标按钮,然后将鼠标指针拖动到按钮之上时调用。

onKeyDown

当按钮具有焦点而且释放某按键时调用。

onKeyUp

当按钮具有焦点而且按下某按键时调用。

onKillFocus

当从按钮中删除焦点时调用。

onPress

在按钮具有焦点的情况下当用户按设备上的选择键时调用。

onRelease

在按钮具有焦点的情况下当用户释放设备上的选择键时调用。

onReleaseOutside

在这样的情况下调用:在鼠标指针位于按钮内部的情况下按下按钮,然后将鼠标指针移到该按钮外部并释放鼠标按钮。

onRollOut

当按钮失去焦点时调用。

onRollOver

当按钮接收焦点时调用。

onSetFocus

当按钮具有输入焦点而且释放某按键时调用。

下面的过程演示如何创建处理按钮事件的简单应用程序。有关使用按钮创建菜单的示例,请参见使用按钮和默认导航来创建简单的菜单(仅限于 Flash Professional)

创建按钮事件处理函数:

  1. 使用在"Flash Lite 2.x 入门"的创建 Flash Lite 文档模板(仅限 Flash Professional)中创建的 Flash Lite 2.0 通用设备模板创建一个新文档,并将其另存为 custom_input_focus.fla。
  2. 选择"窗口">"公用库">"按钮"以打开预构建按钮元件的外部库。
  3. 在"库"面板中,双击传统按钮文件夹将其打开,然后打开 Circle Buttons 文件夹。
  4. 将"菜单"按钮元件的一个实例拖到舞台上。
  5. 在属性检查器中的"实例名称"文本框中键入"btn_1"。
  6. 将同一按钮的另一个实例拖到舞台上,然后将其放在第一个按钮的正下方。
  7. 在属性检查器中的"实例名称"文本框中键入"btn_2"。
  8. 在时间轴中,选择名为 ActionScript 的图层上的第 1 帧。
  9. 打开"动作"面板("窗口">"动作"),然后输入以下代码:
    // 由于按钮具有指针经过状态而禁用焦点矩形
    _focusRect = false;
    
    // 事件处理函数 btn_1
    btn_1.onPress = function() {
        trace("You pressed Button 1");
    }
    btn_1.onRelease = function() {
        trace("You released Button 1");
    }
    btn_1.onRollOver = function() {
        trace("Button 1 has focus");
    }
    btn_1.onRollOut = function() {
        trace("Button 1 lost focus");
    }
    
    // 事件处理函数 btn_2
    btn_2.onPress = function() {
        trace("You pressed Button 2");
    }
    btn_2.onRelease = function() {
        trace("You released Button 2");
    }
    btn_2.onRollOver = function() {
        trace("Button 2 has focus");
    }
    btn_2.onRollOut = function() {
        trace("Button 2 lost focus");
    }
    
  10. 在模拟器中测试应用程序("控制">"测试影片")。

    在按模拟器小键盘上的上箭头键和下箭头键时,观察"输出"面板中的消息。



其它类型的对象支持不同的事件;例如,TextField 对象包括 onChanged 事件,当文本字段的内容发生更改时会调用此事件。可以使用与此过程中的按钮事件处理函数相同的格式为这些事件编写事件处理函数代码。有关文本字段和影片剪辑所支持事件的更多信息,请参见"Flash Lite 2.x ActionScript 语言参考"中的 TextFieldMovieClip 条目。