永发信息网

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

答案:2  悬赏:80  手机版
解决时间 2021-12-30 21:00
是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._x=Math.max(Math.min(b1._x-10*l1,400),0);//相遇时以10倍速度反方向弹开;
b1._y=Math.max(Math.min(b1._y-10*l2,400),0);
b2._x=Math.max(Math.min(b2._x-10*l3,400),0);
b2._y=Math.max(Math.min(b2._y-10*l4,400),0);
}else{
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);
}
if(l23<10000){
b2._x=Math.max(Math.min(b2._x-10*l3,400),0);
b2._y=Math.max(Math.min(b2._y-10*l4,400),0);
b3._x=Math.max(Math.min(b3._x-10*l5,400),0);
b3._y=Math.max(Math.min(b3._y-10*l6,400),0);
}else{
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);
}
if(l13<10000){
b1._x=Math.max(Math.min(b1._x-10*l1,400),0);
b1._y=Math.max(Math.min(b1._y-10*l2,400),0);
b3._x=Math.max(Math.min(b3._x-10*l5,400),0);
b3._y=Math.max(Math.min(b3._y-10*l6,400),0);
}else{
b1._x=Math.max(Math.min(b1._x+l1,400),0);
b1._y=Math.max(Math.min(b1._y+l2,400),0);
b3._x=Math.max(Math.min(b3._x+l5,400),0);
b3._y=Math.max(Math.min(b3._y+l6,400),0);
}
每个按钮:
on(rollOver){
_root.stop();
}
on(rollOut){
_root.play();
}
on(releaseOutside){
//点击释放后要执行的语句;
}
全部回答
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
情侣之间没有信任怎么办
考驾照报名应该注意什么流程是什么 200分
pg独角兽到底有多高
杭州到济南有多远
The World Table Tennis Championship began
有关于爱因斯坦的质能方程
《红楼梦》中,“葬花”的是谁?
舟子喃喃曰的喃喃
火车在长直轨道上匀速行驶,门窗紧闭的车厢内
中央后视镜怎么调
单选题某国有控股企业职工张华每月工资800元
周姓鸡宝宝取名
低碳生活处处可为①低碳生活首先源自碳足迹。
一般ph6的pbs缓冲溶液的物质的量浓度是多少
新生儿斜颈看什么科
推荐资讯
库区湾在喀什市什么位置
叶酸是什么?什么牌子的叶酸比较好?
哲学要从总体上探讨人与世界的关系,必须首先
一元二次方程x2-x-2=0的解是________.
司命(黄道)收日什么意思?
下列说法错误的是A.现阶段,人类所用能量,大
单选题移民是指A.到国外去留学B.到国外去旅游
我知道啊什么的铜钟
夏普打印机ar4020一开机显示h5跳闪,是怎么回
qingchu词语怎么写
下面词语中相同的字的注音,读音完全相同的一
进事业单位是不是要公务员考试,那进入国企要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?