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 内部将您的 MovieClip 对象“vector”作为参数发送到您的文档类函数“applyVector”。

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