首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在actionscript 3.0中随机化封面下的图片?

如何在actionscript 3.0中随机化封面下的图片?
EN

Stack Overflow用户
提问于 2012-03-31 03:36:23
回答 2查看 173关注 0票数 0

我正在制作一个练习用的flash游戏,我已经搭建好了舞台,所以有9个盒子。当游戏开始时,其中一个盒子被随机选择为下面有开始的盒子,如果你选择了下面有星星的盒子,你就赢了。

随机化代码是

代码语言:javascript
复制
var star = 1 + Math.Round(Math.Random()*8.0)//generate a number between 1 and 9

我不知道的是如何附加此代码,以便它分配给我的9个框作为按钮之一的星。我怎么才能把星星藏在盒子下面做封面呢。耽误您时间,实在对不起

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-31 04:29:40

我正在想象这样一种游戏,你只需要在三个杯子中的一个下面放一个球,然后交换杯子,然后猜猜哪个有球。

要将一个对象隐藏在另一个对象之下,最简单的方法是在覆盖它的对象之前将其添加到舞台中。所以把你的星星添加到舞台上,然后添加你所有的盒子。但由于你不必让看不见的物体真正出现在舞台上,我建议不要在舞台上添加星星,直到它被揭示出来,当它再次被隐藏时,再移除它。

可以创建图层以确保对象始终位于其所需的上方/下方。创建sprite对象,并将其命名为layers。按从下到上的顺序添加它们。将其他精灵添加到这些层精灵以控制它们的显示顺序。

代码语言:javascript
复制
var layer1:Sprite = new Sprite(); // Bottom / background
var layer2:Sprite = new Sprite(); // Top / foreground

stage.addChild(layer1);
stage.addChild(layer2);


layer2.addChild(someObject1);
layer1.addChild(someObject2); // someObject2 will be below someObject1

这涉及到用盒子覆盖明星。

你可以把你的盒子放在一个数组中。您需要一个介于0和8之间的数字,然后使用它作为数组中的索引,以获得您想要的框。

代码语言:javascript
复制
var whichBox:int = (int)(Math.random() * 9);
var boxesArray:Array = new Array();
for (var i:int = 0; i < 9; i++) {
    boxesArray.push(new Box()); // Or whatever your boxes are
}
var boxWithStar:Box = boxesArray[whichBox];

然后你可以将星星移动到与它的盒子相同的位置。

代码语言:javascript
复制
star.x = boxWithStar.x;
star.y = boxWithStar.y;
票数 1
EN

Stack Overflow用户

发布于 2012-03-31 05:12:01

这是一个你可以使用的非常方便的函数:

代码语言:javascript
复制
function randRange(start:Number, end:Number) : Number
{
   return Math.floor(start +(Math.random() * (end - start)));
}

示例(0-9之间的任意数字):

代码语言:javascript
复制
var random:int = randRange(0,9);

记住要将其设置为int类型,否则可能会以浮点型结束。

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

https://stackoverflow.com/questions/9949397

复制
相关文章

相似问题

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