0

这个可以吗??

stage.addEventListener(TouchEvent.TOUCH_END, finish);

private function new(e:TouchEvent):void {

     function finish(e:TouchEvent):void {


     }
}

谢谢

4

2 回答 2

2

首先,strille 是对的,您的 finish() 函数应该位于 new() 函数之外。您要传输的变量可以存储在对象的属性中,然后在您的 finish() 函数中引用它们。另外,我不敢将您的函数命名为“新”,因为它在 Actionscript 3 中已经有意义。

private function newTouch(e:TouchEvent):void {
    touchedAtX=e.localX;
    touchedAtY=e.localY;
    // store more if you want to
}

private function finish(e:TouchEvent):void {
    // here you can use your touchedAtX and touchedAtY stored values, 
    // as well as anything else
}
于 2012-09-05T14:15:52.723 回答
0

不,内部 finish() 函数在外部 new() 函数之外不可用/不可见。问题是为什么finish() 需要在new() 中定义,并且不能驻留在它之外?

private function new(e:TouchEvent):void {
   finish(e);
}

private function finish(e:TouchEvent):void {

}
于 2012-09-05T13:56:57.623 回答