返回 AS3.0 Int 值

发布于 2024-10-16 03:57:59 字数 505 浏览 4 评论 0原文

我试图从符号内的动作脚本返回一个 int 值。

这是符号/影片剪辑内部的代码。

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和婴儿的编号相同,我就可以移动它们,这样就不会出现痣了同一个地方。

I am trying to return an int value from actionscript inside a symbol.

This is the code inside of the symbol/movieclip.

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

This is the code I have tried for returning the flyttInMb to the actionscript that is the game, instead of inside one of the symbols, and what I get is this: Return value must be undefined.
Any way I can return the flyttInMb out of the symbol, onto my actionscript?

This is how I try to call the flyttInK and the flyttInMb:

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

The thing is.. I want to keep the flyttInMb value, so that I can move the Kone and the baby if their number is the same, so no mole ever appears on the same spot.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

稚气少女 2024-10-23 03:57:59

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

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

Rob

try this to get a return value from a method:

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

Rob

一个人的旅程 2024-10-23 03:57:59

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

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

在影片剪辑符号中

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();

我希望你能更接近这个,

罗布

Sorry for adding a new answer, but I feel like it is better this way.

In order to be able to return anything from a method you have to actually set it in the method declaration and you have to return a value in the method. See below:

In the movie clip symbols

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;
};

In the method declaration I say I will return a uint value and the last line of the method returns the generated random number.

In your main script

To be honest I don't understand what you are trying to do with this:

if(flyttInK==flyttInMb){
   Kone.flytt();
   Baby.flytt();
}
  • what is flyttInk?
  • what is flyttInMb - it has got the same name as the generated value in the symbol script.
  • The Kone.flytt(); and Baby.flytt(); calls seem to be static class method calls which won't return anything in this context. Try to call the actual instantiated items' methods which would be something like this:

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

I hope you get closer with this,

Rob

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文