我是ActionScript 3.0的新手,我只是想制作一个简单的游戏,其中一个MovieClip的实例从屏幕顶部落到随机的X位置。
计划: 创建类似于MovieClip的4-5个实例,在随机X上将它们放在舞台上方,让它们掉落。一旦它们离屏,它们应该循环回到顶部,并在它们这样做时重新随机化X坐标。
问题: 我需要有关脚本的帮助,因为我几乎不知道如何做到这一点。我知道如何让我的按钮进入我想要的场景,以及如何使抓住所述MovieClip的篮子沿x轴移动......就是这样。
谢谢!
如果我留下任何信息,请告诉我。
答案 0 :(得分:2)
您需要做的第一件事(如果您还没有这样做)是将其导出为ActionScript。
第1步:右键单击库中的影片剪辑。点击属性。选中“导出for ActionScript ”复选框。如果您看不到它,则可能需要先点击高级。为动画片段指定一个类名。除非要扩展另一个类实例,否则可以保留基类。点击确定。
第2步:右键单击要生成动画片段的时间轴中的帧。点击操作。假设我们将类命名为 MyMovieClip ,这段代码会将该影片剪辑的实例添加到舞台中:
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位置添加它,您需要使用 mc 的 x 和 y 字段和 Math.random()函数。
Math.random()生成0到1之间的伪随机数n(0 <= n <1),例如0.1232 ......因为您可能需要一个值大于或等于0,您需要将结果乘以某个整数值。例如:
var result:Number = Math.random() * 100 // returns a number between n, where 0 <= n < 100
既然你想要一个相对于舞台的x值,你必须将 Math.random()与舞台的宽度相乘。
var randomX:Number = Math.random() * stage.stageWidth // returns a number between n, where 0 <= n < stage.stageWidth
第3步:只需使用在将其添加到舞台之前生成的伪随机数设置动画片段的x值。
mc.x = randomX;
如果您希望在进入舞台时自行制作动画,则需要在AS3中学习事件处理。见this link
祝你好运!