2012-01-18 7 views
0

静的関数内にマウスの座標が必要です。これはマウスボタン関数ではなく、関数に渡されたものはありません。メインクラスで静的関数内でMouseX/Yを取得する方法は?

// Main class 
MyClass.something(); 

// MyClass 
public static function something():void 
{ 
    // Get Mouse Cordinates 
    // myclassclip.x = mouse cordinates 
} 
+4

あなたは、この関数が呼び出される前に、いくつかの初期化コードから、ステージに静的な参照を設定する必要があるとしています。 Flash Proのタイムラインですか? – Sophistifunk

+0

多分それをパラメータとして渡すでしょうか? public static function something(__ x:Number、__ y:Number):void –

答えて

1
package 
{ 
    import flash.display.Sprite; 
    import flash.display.Stage; 
    import flash.geom.Point; 

    public class MyClass extends Sprite 
    { 
     private static var _instance:MyClass; 

     public function MyClass() 
     { 
      super(); 
     } 

     public static function getInstance():MyClass 
     { 
      if (!_instance) 
       _instance = new MyClass(); 

      return _instance; 
     } 

     public static function testMouse():Point 
     { 
      var myStage:Stage = _instance.stage; 
      var point:Point = new Point(myStage.mouseX, myStage.mouseY); 

      return point; 
     } 
    } 
} 

// Somewhere in the Main class 
addChild(MyClass.getInstance()); 

// In other place in the Main class 
MyClass.testMouse(); 
+0

基本的に静的変数を使用してステージ参照を取得しています:) –

関連する問題