【问题标题】:Actionscript 3.0: What does the parameter 'e' do in e:KeyboardEventActionscript 3.0:参数“e”在 e:KeyboardEvent 中有什么作用
【发布时间】:2012-03-09 00:02:00
【问题描述】:

我在最近的一个项目中为我的键盘事件和鼠标事件使用了“事件”参数(非常基础)。

我不完全确定 e:KeyboardEvent 的 'e' 部分实际上做了什么,我被要求找出参数 'e' 在使用时可以实际访问的信息。

对不起,如果问题写得不好,这是一个漫长的夜晚!

编辑:如果 A 方法采用参数 (e:KeyboardEvent)。我们可以通过使用参数 e 访问哪些信息?

【问题讨论】:

    标签: actionscript-3 flash events parameters


    【解决方案1】:

    e 表示KeyboardEvent 的一个实例(传递给您的监听函数的实例)。

    KeyboardEvent(在您的示例中由 e 引用)最重要的属性是 keyCode

    这决定了哪个键被按下/释放。

    例如:

    stage.addEventListener(KeyboardEvent.KEY_DOWN, _keyDown);
    function _keyDown(e:KeyboardEvent):void
    {
        trace(e.keyCode); // Will be 65 if you press 'a'.
    }
    

    【讨论】:

      【解决方案2】:

      我假设你有这样的功能

      function someFunction(e:KeyboardEvent):void
      {
          // code
      }
      

      您可以访问KeyboardEvent 类中的任何信息,就像参数被称为“事件”一样。参数的名称不会影响您可以通过它访问的内容;类型确实如此。

      编辑:“e”只是变量的名称 - 它可以被称为fredbananatyrannosaurusRex,它不会有任何区别。决定您可以通过变量访问何种信息的是它的类型——在本例中为KeyboardEvent。如果你点击上面的KeyboardEvent 链接,你会看到KeyboardEvent 类的文档,它会告诉你可以用它做的所有事情。例如,KeyboardEvent 的属性之一是keyCode,它告诉您按下了哪个键:

      if (e.keyCode == 32)
      {
          // 32 is the keyCode for spacebar, so spacebar was pressed
      }
      

      【讨论】:

      • 对不起,我很难理解这意味着什么。我现在稍微改变了这个问题
      • 如果您要在更新中使用我的答案,您至少可以 +1 吗?
      • 嘿,巧合,我发誓(我什至在编辑之后才看到你的答案)。我只添加了一个编辑,因为 OP 要求提供更多信息,而且 keyCode 确实 最重要的属性。无论如何真诚地 +1。
      • @WesleyPetrowski 只是开玩笑的伙伴:P
      • 您的编辑版本帮助很大!非常感谢,我现在完全明白了。
      【解决方案3】:
      import flash.events.KeyboardEvent;
      
      stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardHandler);
      
      function keyboardHandler(Jack:KeyboardEvent):void{
      
          trace(Jack.keyCode);///----------see output pannel
      
      }
      
      /////////////////--------or
      
      stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardHandler2);
      
      function keyboardHandler2(Banana:KeyboardEvent):void{
      
          trace(Banana.keyCode);////////----see output pannel
      
      }
      

      你可以在里面输入任何东西()包括键盘事件

      【讨论】:

        【解决方案4】:

        您正在命名触发函数的事件,就像任何其他 var 一样,它可以被命名为任何东西。然后,根据事件的类型,您将可以访问许多与导致事件触发的原因相关的变量和函数。

        编辑:Here's MouseEvent(公共属性)可以为您提供什么

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-31
          • 1970-01-01
          • 2011-07-03
          • 2011-01-15
          • 2018-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多