Actionscript 3 动作脚本3.0。如何添加随机子项和随机位置的项目
在我的flash游戏中有9个可能的房间。每个房间有3个固定位置,可以添加物品。每个房间也有3个项目,但项目应始终添加在不同的位置 例如,如果这里有3个位置:Ax=1;y=1,Bx=2;y=2,Cx=3;y=3和Item1 Item2 Item3,有时Item1应添加到Ax=1;y=1,有时为Bx=2;y=2等应为添加项目位置的随机机会 在这张图中只显示了3个房间,但我总共有9个。正如您看到的,所有房间都有不同的物品位置,但每个房间都有固定的物品,蓝色、粉色和黄色的物品应该能够在每次添加到舞台上时改变位置 做这件事的最佳表现是什么 声明如下:Actionscript 3 动作脚本3.0。如何添加随机子项和随机位置的项目,actionscript-3,flash,random,position,addchild,Actionscript 3,Flash,Random,Position,Addchild,在我的flash游戏中有9个可能的房间。每个房间有3个固定位置,可以添加物品。每个房间也有3个项目,但项目应始终添加在不同的位置 例如,如果这里有3个位置:Ax=1;y=1,Bx=2;y=2,Cx=3;y=3和Item1 Item2 Item3,有时Item1应添加到Ax=1;y=1,有时为Bx=2;y=2等应为添加项目位置的随机机会 在这张图中只显示了3个房间,但我总共有9个。正如您看到的,所有房间都有不同的物品位置,但每个房间都有固定的物品,蓝色、粉色和黄色的物品应该能够在每次添加到舞台上时
var room1:Room1 = new Room1();
var item1:Item1 = new Item1();
var item2:Item2 = new Item2();
var item3:Item3 = new Item3();
var room2:Room2 = new Room2();
var item4:Item4 = new Item4();
var item5:Item5 = new Item5();
var item6:Item6 = new Item6();
....
所以在Room1中应该添加Item1 Item2和Item3,在Room2中应该添加Item4 Item5和Item6等等
首先,我需要随机选择9个房间中的1个。应该是这样的吗
addChildRoom+randNumber
稍后我需要指定是否为每个房间
if(Room+randNumber == Room1) {
addChild(Item1);
addChild(Item2);
addChild(Item3);
}
但在这种情况下,如何为每个房间设置3个静态x、y位置,并为每个项目随机设置?要随机选择9个房间中的1个,请使用以下代码:
var roomID:int = Math.round(Math.random() * 8 + 1);
var room:MovieClip = this["room" + roomID];
addChild(room);
室友是一个从1到9的随机数。
该房间是指向Room1、Room2。。。9号房间
if (room is Room1) // or if (roomID == 1)
{
addChild(item1);
addChild(item2);
addChild(item3);
}
下一个。让我们设置x和y位置。在哪里存储x和y位置?
您说:“例如,如果这里有3个位置:Ax=1;y=1 Bx=2;y=2 Cx=3;y=3”。什么是A,B,C?Point类的实例
将向阶段添加三个项目时,请调用我的函数
...
addChild(item1);
addChild(item2);
addChild(item3);
var A:Point = new Point(100, 100);
var B:Point = new Point(200, 200);
var C:Point = new Point(300, 300);
placeItems([item1, item2, item3], [A, B, C]);
}
function placeItems(items:Array, points:Array)
{
for (var i:int = 0; i < items.length; i++)
{
var id:int = Math.round(Math.random() * (points.length - 1));
items[i].x = points[id].x;
items[i].y = points[id].y;
points.splice(id, 1);
}
}
谢谢你的回答。A B C什么都不是,我只是用它来解释我需要3个职位。我稍后会尝试一下,并告诉你这是否对我有效。