返回AS3.0 Int值

时间:2011-02-05 12:16:11

标签: flash actionscript-3 return int

我试图从符号中的actionscript返回一个int值。

这是符号/ movieclip内的代码。

function flytt():void{
   var flyttInMb:int=Math.random() * 8;
   if(flyttInMb==0){
      x=243,30;
      y=171,65;
   }
}

这是我尝试将flyttInMb返回到游戏的动作脚本而不是其中一个符号的代码,我得到的是:返回值必须是未定义的。 无论如何我可以将符号中的flyttInMb返回到我的动作上吗?

这就是我尝试调用flyttInK和flyttInMb:

的方法
if(flyttInK==flyttInMb){
   Kone.flytt();
   Baby.flytt();
}

事情是..我想保留flyttInMb值,以便我可以移动Kone和宝宝,如果他们的数字是相同的,所以没有痣出现在同一个地方。

2 个答案:

答案 0 :(得分:2)

尝试从方法中获取返回值:

function returnValue():uint
{
  return Math.round(Math.random()*8);
};

罗布

答案 1 :(得分:0)

很抱歉添加新答案,但我觉得这样更好。

为了能够从方法中返回任何内容,您必须在方法声明中实际设置它,并且必须在方法中返回一个值。见下文:

在影片剪辑元件中

function flytt():uint
{
   var flyttInMb:uint = Math.round(Math.random() * 8);

   if(flyttInMb == 0)
   {
      x=243.30; //Use full stop instead if comma!
      y=171.65; //Use full stop instead if comma!
   }

   return flyttInMb;
};

在方法声明中,我说我将返回uint值,方法的最后一行返回生成的随机数。

在您的主脚本中

说实话,我不明白你想用这个做什么:

if(flyttInK==flyttInMb){
   Kone.flytt();
   Baby.flytt();
}
  • 什么是flyttInk
  • 什么是flyttInMb - 它的名称与符号脚本中的生成值相同。
  • Kone.flytt();和Baby.flytt();调用似乎是静态类方法调用,在此上下文中不会返回任何内容。尝试调用实际的实例化项目的方法,如下所示:

var kone:Kone = new Kone(); ... var returnValueOfKoneInstance:uint = kone.flytt();

我希望你能更接近这一点,

罗布