Flash AS3在Mouseclick之后返回一个值

时间:2013-10-19 19:16:19

标签: actionscript-3 flash

嗨我需要帮助,因为某些原因我的代码无效后点击鼠标后返回一个变量

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

trace(LeftMercury());

3 个答案:

答案 0 :(得分: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
}

您可以成为解决方案吗?

答案 1 :(得分:1)

当你简单地陈述问题而没有背景知识时很难提供帮助,但从第一眼看,我看到没有参数调用LeftMercury(),当函数期望一个是坏的时候。相反,当没有提供任何东西时,将函数集e设置为null,因此如果你调用没有参数的LeftMercury(),编译器默认情况下使e等于null,将MouseEvent置于其中也将起作用,因为它将覆盖默认的null你设定的价值:

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

trace(LeftMercury());

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

答案 2 :(得分:0)

它应该是一个全局变量:

所以在函数

之外声明它
var ldiameter:Number;
function LeftMercury(e:MouseEvent):void
{
 ldiameter = 4800;
}

trace(ldiameter);