flash,as3,怎样写一段代码,将几个元件随机数量,添加到舞台上的随机位置,而且大致均匀分布在舞台上? 100

 我来答
Keensb
2013-05-15 · TA获得超过787个赞
知道小有建树答主
回答量:952
采纳率:0%
帮助的人:741万
展开全部

大致均匀分布这个比较麻烦。如果你的元件有 17 个,摆成1行太长,摆成2行、3行、4行都无法对称。除非以场景正中为中心点,所有元件进行环形分布。


import flash.display.MovieClip;
var mcArr:Array = [];
var i:int = Math.random() * 20 + 1;
var mc:MovieClip;
for(var n:int = 0;n < i;n++)
{
    mc = new MC();//MC是你的影片剪辑的链接名
    addChild(mc);
    mcArr.push(mc);
}
if(mcArr.length == 1)
{
    mcArr[0].x = stage.stageWidth / 2;
    mcArr[0].y = stage.stageHeight / 2;
}
else
{
    var num:Number = Math.min(stage.stageWidth / 2,stage.stageHeight / 2);
       
    var ran:Number = num * 0.8 * Math.random() + num * 0.2;
       
    var rot:Number = 0;
       
    for(var l:int = 0;l < mcArr.length;l++)
    {
        rot = -90 + (360 / mcArr.length) * (l + 1);
        mcArr[l].x = stage.stageWidth / 2 + ran * Math.cos(Math.PI * rot / 180);
        mcArr[l].y = stage.stageHeight / 2 + ran * Math.sin(Math.PI * rot / 180);
    }
}
lsjaker4
2013-05-15 · TA获得超过289个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:604万
展开全部
说个方法,你可以去实验下,适合AS3.0
创建一个MC,在库里起AS链接名为 card
var shuliang:uint = Math.floor(Math.random() * 100);
for (var i:uint=0; i<shuliang; i++) {
var mc:card=new card();
mc.x = Math.random() * 550;
mc.y = Math.random() * 400;
addChild(mc)
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FlashASer

2013-05-15 · Animate,Photoshop,职场经验,人生感悟!
FlashASer
采纳数:14298 获赞数:18655

向TA提问 私信TA
展开全部
我觉得你说得像是找你妹里边的分布规律。。。可以去天地会搜找你妹。。下面是我找的一个链接,你看看,如果打不开再自己搜一下。
http://bbs.9ria.com/forum.php?mod=viewthread&tid=174934&highlight=%E6%89%BE%E4%BD%A0%E5%A6%B9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奇巧且认真的工匠g
2013-05-15
知道答主
回答量:1
采纳率:0%
帮助的人:1503
展开全部
for(var i:int=0;i<100;i++)
{
mc[i].x = Math.random()*1000;
mc[y].y = Math.random()*1000
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式