1

私はAS3を初めて使用するので、気を付けてください:)

いくつかのパブリック変数とプライベート関数を使用してクラスを開発し、アニメーションで、フレームコーディング内で関数を呼び出すeventLisenerを作成しました。内部関数がメインクラスのパブリック変数に値を返すようにしたい。

これは内部のアニメーションコードです:

import flash.events.MouseEvent;
import Box2D.Common.Math.b2Vec2;

var vector:b2Vec2 ;

pandaHold.addEventListener(MouseEvent.MOUSE_OVER,getMouse);
pandaHold.addEventListener(MouseEvent.MOUSE_OUT,getMouseOut);
function getMouse (e:MouseEvent):void{
    this.MouseX = mouseX;
    this.MouseY = mouseY;
}

function getMouseOut (e:MouseEvent):void{
    this.MouseXk = mouseX ;
    this.MouseYk = mouseY ;
    this.applyVector(makeVector());
}

function makeVector () : b2Vec2 {

    return( new b2Vec2 (this.MouseXk - this.MouseX,this.MouseY - this.MouseYk));

}

これがメインクラスの関数です

/*** apply Vector from movieClip ***/
 private function applyVector (newVector:b2Vec2):void {
       gravity = newVector;
}
4

1 に答える 1

0

次のように、メイン ドキュメント クラスを参照できます。"MyDocumentClass" をドキュメント クラスの名前に置き換えます (.as を省略します)。

MovieClip オブジェクトの "vector" を引数として、MovieClip 内からドキュメント クラス関数 "applyVector" に送信する方法を次に示します。

MyDocumentClass.applyVector(vector);
于 2012-11-19T19:27:17.857 に答える