AS3.0固定位置随机排列影片剪辑
请问怎么让这6个影片剪辑在单击了重置按钮后在这固定的6个地方随机排列,需要具体AS3.0代码,非诚勿扰,谢谢!...
请问怎么让这6个影片剪辑在单击了重置按钮后在这固定的6个地方随机排列,需要具体AS3.0代码,非诚勿扰,谢谢!
展开
1个回答
展开全部
那还不简单?一般来说,你这个六个对象的坐标是固定的,我们用一个数组来存储这六个坐标值。
import flash.geom.Point;
import flash.events.MouseEvent;
//假如你这六个对象的坐标是如下的点坐标对象。
var pointAr:Array = [new Point(50,50),new Point(130,50),new Point(210,50),new Point(50,150),new Point(130,150),new Point(210,150)];
//假如你这六个显示对象分别是btn0到btn5
var btnAr:Array = [];
for (var i:uint=0; i<6; i++)
{
btnAr = ["btn" + i];
}
//现在我们来写重置按钮的脚本:
chong.addEventListener(MouseEvent.CLICK,onClick);
function onClick(evt:MouseEvent):void
{
//重新排列坐标
var randomN:uint;
for (var i:uint=0; i<6; i++)
{
randomN = Math.floor(Math.random() * btnAr.length);
//随机抽取任意一个作为第一个位置的对象
btnAr[randomN].x = pointAr[i].x,btnAr[randomN].y = pointAr[i].y;
//将抽取的对象从数组中删除
btnAr.splice(randomN,1);
//ok随机排列完成
}
}
脚本没经过测试,你自己测试吧。我也不可能为你制作完全的动画过程是这样吧。
import flash.geom.Point;
import flash.events.MouseEvent;
//假如你这六个对象的坐标是如下的点坐标对象。
var pointAr:Array = [new Point(50,50),new Point(130,50),new Point(210,50),new Point(50,150),new Point(130,150),new Point(210,150)];
//假如你这六个显示对象分别是btn0到btn5
var btnAr:Array = [];
for (var i:uint=0; i<6; i++)
{
btnAr = ["btn" + i];
}
//现在我们来写重置按钮的脚本:
chong.addEventListener(MouseEvent.CLICK,onClick);
function onClick(evt:MouseEvent):void
{
//重新排列坐标
var randomN:uint;
for (var i:uint=0; i<6; i++)
{
randomN = Math.floor(Math.random() * btnAr.length);
//随机抽取任意一个作为第一个位置的对象
btnAr[randomN].x = pointAr[i].x,btnAr[randomN].y = pointAr[i].y;
//将抽取的对象从数组中删除
btnAr.splice(randomN,1);
//ok随机排列完成
}
}
脚本没经过测试,你自己测试吧。我也不可能为你制作完全的动画过程是这样吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询