2011-02-05 46 views
0

我想从一个符号内的动作返回一个int值。返回AS3.0诠释值

这是symbol/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值,这样我可以,如果他们的数字移动通力和宝宝是一样的,所以没有痣在同一个地方出现过。

+0

嗨,你可以格式化你的代码吗?使用{}按钮来完成。谢谢。 – robertp 2011-02-05 12:22:37

回答

2

试试这个从方法获得返回值:

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

罗布

+0

主框架无法提取我从movieclip内部返回的内容... – Kasper 2011-02-05 13:36:12

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 - 它与符号脚本中的生成值具有相同的名称。
  • The Kone.flytt();和Baby.flytt();调用似乎是静态类方法调用,它不会在此上下文中返回任何内容。尝试调用实际实例化的项目的方法,这将是这样的:

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

我希望你能与此接近,

罗布