-1

嗨,由于某种原因我的代码不起作用,我需要帮助在鼠标单击后返回变量

function LeftMercury(e:MouseEvent):Number
{
 var ldiameter:Number = 4800;
 return ldiameter;
}

trace(LeftMercury());
4

3 回答 3

1
import flash.events.MouseEvent;
var ldiameter:Number=0;
stage.addEventListener(MouseEvent.CLICK,LeftMercury);
function LeftMercury(e:MouseEvent):void
{
    ldiameter=4800;
    trace(ldiameter);// OR
    trace(e.stageX); // Mouse Position
}

你能解决吗?

于 2013-10-19T19:27:18.050 回答
1

当您简单地陈述问题并且没有背景知识时,它很难提供帮助,但乍一看,我看到当函数期望一个时调用不带参数的 LeftMercury() 是不好的。而是在没有提供任何参数的情况下将函数设置为 null,因此如果您在没有参数的情况下调用 LeftMercury(),编译器只会使 e 默认等于 null,将 MouseEvent 放入它们也将起作用,因为它将覆盖默认的 null您设置的值:

function LeftMercury(e:MouseEvent=null):Number
{
 var ldiameter:Number = 4800;
 return ldiameter;
}

trace(LeftMercury());

这段代码是完美的,但如果它仍然不起作用,我帮不了你。您必须更新您的问题,以便为我们提供更多背景和代码。

于 2013-10-19T21:28:47.537 回答
0

it should be a global variable to do that :

so declare it outside of the function

var ldiameter:Number;
function LeftMercury(e:MouseEvent):void
{
 ldiameter = 4800;
}

trace(ldiameter);
于 2013-10-19T19:51:57.520 回答