早教吧 育儿知识 作业答案 考试题库 百科 知识分享

flashas2.0代码哪里错了,大家帮我看看onClipEvent(load){v=3;//速度rotation=random(360);//让虫旋转为任意一角度。}onClipEvent(enterFrame){k=Math.pow(-1,random(2));//随机产生1和-1。准确写法是:

题目详情
flash as2.0代码哪里错了,大家帮我看看
onClipEvent(load){
v = 3;//速度
_rotation = random(360);//让虫旋转为任意一角度。
}
onClipEvent(enterFrame){
k = Math.pow(-1,random(2));//随机产生1和-1。 准确写法是:
                    //Math.Pow(double a,double b)
                    //返回指定数字的指定次幂。
_rotation += k*random(11);//让虫旋转为-10到10之间。
a = _rotation*Math.PI/180;//将角度转化为弧度。(详细查看上文)
dx = Math.cos(a)*v;
dy = Math.sin(a)*v;
//横纵坐标的移动量。(详细查看上文)
_x += dx;
_y += dy;
//限定虫移动的范围。(重点)
//解析:先确定范围。(宽:50--750;高:50--550)
if(_x <= 50 && dx<0 || _x >= 750 && dx>0){
_rotation = Math.atan2(dy,-dx)*180/Math.PI;
}//超出限定范围时,按照上面条件改变dx,
//并用Math.atan2使旋转角度发生相应变化,让运动方向改变。
▼优质解答
答案和解析
因为你没考虑到Y轴的问题只写了X轴 X轴现在没有问题。
if (_y <= 50 && dy < 0 || _y >= 550&& dy > 0)
{
_rotation = Math.atan2(-dy, dx) * 180 / Math.PI;
}
在后面加上这段就没问题了