flash里让按钮在一个区域内无规则运动的一段代码~!flash高手进~!

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:14:53
是N个按钮,按钮不能相交,相遇就碰开,鼠标放到按钮上时按钮停止运动!
请高手相帮~!

分数可追加~!谢谢~!

假如3个按钮b1,b2,b3;
帧1:
//初始化语句;
//你自己考虑_root["变量名前缀"+变量id号]=;
//另外对于相遇问题,我记得有个判断重合的函数,可以适合不规则形状的按钮或影片,你自己找下。
帧2:
l1=(random(3)-1)*Math.random();//防止运行有抖动感,每10帧取方向及速度;
l2=(random(3)-1)*Math.random();
l3=(random(3)-1)*Math.random();
l4=(random(3)-1)*Math.random();
l5=(random(3)-1)*Math.random();
l6=(random(3)-1)*Math.random();

b1._x=Math.max(Math.min(b1._x+l1,400),0);//边界处理;
b1._y=Math.max(Math.min(b1._y+l2,400),0);
b2._x=Math.max(Math.min(b2._x+l3,400),0);
b2._y=Math.max(Math.min(b2._y+l4,400),0);
b3._x=Math.max(Math.min(b3._x+l5,400),0);
b3._y=Math.max(Math.min(b3._y+l6,400),0);
帧3~11:
call(13);
帧12:
gotoAndPlay(2);
帧13:
l12=(b1._x-b2._x)*(b1._x-b2._x)+(b1._y-b2._y)*(b1._y-b2._y);//按钮圆心距平方值
l23=(b3._x-b2._x)*(b3._x-b2._x)+(b3._y-b2._y)*(b3._y-b2._y);
l13=(b1._x-b3._x)*(b1._x-b3._x)+(b1._y-b3._y)*(b1._y-b3._y);

if(l12<10000){
b1.