0

クラスで関数をさらに定義しているにもかかわらず、スターを付けた行の次のコードから、未定義のプロパティへのアクセスエラーが発生します。

package {

  import flash.display.Stage;
  import flash.events.Event;
  import flash.events.KeyboardEvent;
  public class Key{
    private static var initialized:Boolean = false;
    private static var keysDown:Object = new Object();
    private function initialize(stage:Stage){
      if(!initialized){
        stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
        stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
      **stage.addEventListener(Event.DEACTIVATE, clearKeys);**
        initialized = true;
      }
    }
    public static function isDown(keyCode:uint):Boolean {
      return Boolean(keyCode in keysDown);
    }
    Private static function keyPressed(event:KeyboardEvent):void {
      keysDown[event.keyCode] = true;
    }
    private static function keyReleased(event:KeyboardEvent):void{
      if(event.keyCode in keysDown){
        delete keysDown[event.keyCode];
      }
    }
    Private static function clearkeys(event:Event):void{
      keysDown = new Object():
    }
  }
}

編集:キャップエラーを修正した後、新しいエラーがポップアップします(ありがとうジェイソン)。誰かがこれを手伝ってくれますか?

4

1 に答える 1

1

Privateアクセス修飾子キーワードには小文字である必要がありますprivate

のように:

private static var initialized:Boolean = false;

大文字としてPrivate、コンパイラは、次のような名前空間「Private」を参照していると想定します。

package
{
    import flash.utils.flash_proxy;
    import mx.core.mx_internal;

    use namespace arcane;

    public dynamic class X
    {
        flash_proxy var prop1:Boolean;

        mx_internal var prop2:Boolean;

        arcane var prop3:Boolean;
    }
}
于 2012-05-31T02:57:10.200 に答える