我正在制作一个练习用的flash游戏,我已经搭建好了舞台,所以有9个盒子。当游戏开始时,其中一个盒子被随机选择为下面有开始的盒子,如果你选择了下面有星星的盒子,你就赢了。
随机化代码是
var star = 1 + Math.Round(Math.Random()*8.0)//generate a number between 1 and 9我不知道的是如何附加此代码,以便它分配给我的9个框作为按钮之一的星。我怎么才能把星星藏在盒子下面做封面呢。耽误您时间,实在对不起
发布于 2012-03-31 04:29:40
我正在想象这样一种游戏,你只需要在三个杯子中的一个下面放一个球,然后交换杯子,然后猜猜哪个有球。
要将一个对象隐藏在另一个对象之下,最简单的方法是在覆盖它的对象之前将其添加到舞台中。所以把你的星星添加到舞台上,然后添加你所有的盒子。但由于你不必让看不见的物体真正出现在舞台上,我建议不要在舞台上添加星星,直到它被揭示出来,当它再次被隐藏时,再移除它。
可以创建图层以确保对象始终位于其所需的上方/下方。创建sprite对象,并将其命名为layers。按从下到上的顺序添加它们。将其他精灵添加到这些层精灵以控制它们的显示顺序。
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之间的数字,然后使用它作为数组中的索引,以获得您想要的框。
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];然后你可以将星星移动到与它的盒子相同的位置。
star.x = boxWithStar.x;
star.y = boxWithStar.y;发布于 2012-03-31 05:12:01
这是一个你可以使用的非常方便的函数:
function randRange(start:Number, end:Number) : Number
{
return Math.floor(start +(Math.random() * (end - start)));
}示例(0-9之间的任意数字):
var random:int = randRange(0,9);记住要将其设置为int类型,否则可能会以浮点型结束。
https://stackoverflow.com/questions/9949397
复制相似问题