首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在阶段的任意X位置生成库对象的实例

在阶段的任意X位置生成库对象的实例
EN

Stack Overflow用户
提问于 2014-03-09 05:34:02
回答 1查看 6.4K关注 0票数 1

我是ActionScript 3.0的新手,我只是尝试制作一个简单的游戏,在这个游戏中,MovieClip的一个实例从屏幕的顶部以一个随机的X位置掉下来。

计划:创建类似于MovieClip的4-5个实例,将它们随机放置在舞台上,然后让它们掉下来。一旦他们离开屏幕,他们应该返回到顶部,当他们这样做的时候,重新随机化X坐标。

问题是:我需要脚本方面的帮助,因为我几乎不知道如何做到这一点。我知道如何使我的按钮去我想要的场景,以及如何使篮子,将捕获说,MovieClips沿x轴移动.事情就是这样。

谢谢!!

如果我遗漏了任何信息,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-09 08:05:35

您需要做的第一件事(如果您还没有这样做)是导出它到ActionScript。

步骤1:右键单击库中的电影剪辑。单击属性。选中"Export “复选框。如果您看不到它,您可能需要首先单击高级。为您的电影指定一个类名。除非您正在扩展另一个类实例,否则可以保留基类。单击OK

步骤2:右键单击要生成电影的时间线中的框架。单击Actions。假设我们将类命名为MyMovieClip,,这个代码块将在舞台上添加电影剪辑的一个实例:

代码语言:javascript
复制
var mc:MyMovieClip = new MyMovieClip() // creates a instance of the movieclip, i.e, an object
addChild(mc);                          // adds the movie clip to the upper left corner of the stage relative to the movie clip's registration point

这基本上就是你在舞台上加一个电影的方式。要将它添加到舞台上的随机x位置,您需要使用mcxy字段以及函数。

Math.random()生成一个在0到1之间的伪随机数n (0 <= n< 1),例如0.1232.因为您可能需要一个大于或等于0的值,所以需要将结果乘以某个整数值。示例:

代码语言:javascript
复制
var result:Number = Math.random() * 100  // returns a number between n, where 0 <= n < 100

现在,由于您想要一个相对于舞台的x值,所以您必须用舞台的宽度乘以Math.random()

代码语言:javascript
复制
var randomX:Number = Math.random() * stage.stageWidth // returns a number between n, where 0 <= n < stage.stageWidth

步骤3:只需使用生成的伪随机数来设置电影唇的x值,然后再将它添加到舞台上。

代码语言:javascript
复制
mc.x = randomX;

如果您想让它在进入舞台时自行动画,您将需要学习AS3中的事件处理。请参阅此链接

祝好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22278837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档