AS代码研究实例:随即运动参数的传递应用

作者:网络 来源:佚名 更新时间:2009-11-22 18:29:54 点击:

看效果:


在舞台绘制一个圆转换为影片剪辑元件,实例名称为mc,在第一帧添加以下代码:

function fanhui(x1, x2, y1, y2) {//计算并返回定义的坐标和对象坐标相加的平方根
        sqrt = math.sqrt(x1+x2+y1+y2);
        return sqrt;
}
function chushizhi(obja) {
        endx = random(550);//定义的x坐标
        endy = random(400);//定义的x坐标
        d = fanhui(endx, endy, obja._x, obja._y);//获取返回后的平方根

        dx = (endx-obja._x)/d*t;//定义对象要移动的x坐标
        
        dy = (endy-obja._y)/d*t;//定义对象要移动的y坐标
}
function tt() {//定义移动的速度
        t = random(10);
}
function yidong(objb) {//对象移动
        objb._x = objb._x+dx;
        objb._y = objb._y+dy;

}
function movie(obj) {
        if (endx == undefined) {//如果定义的x坐标为空执行
                tt();//运行速度函数
                chushizhi(obj);//运行定义坐标函数

        } else if (obj._x>0 && obj._y>0 && obj._x<550 && obj._y<400) {//如果对象的坐标处于500*400大小的舞台中执行
                yidong(obj);//运行对象移动函数
        } else {//对象坐标超出舞台后重新定义一个处于舞台内的坐标,并且移到该处
                tt();
                chushizhi(obj);
                trace(endx);
                yidong(obj);

        }
}
onenterframe = function () {
        movie(mc);
};

这个实例主要演示参数的传递应用,因为之前我对参数是一点都不懂(虽然现在认识的也不深),但对自己来说是有了一个全新的认识和简单的应用,把这个献给我和一样的新手,记得多看几次函数括号内的参数,你会发现它们是有一定的规律的。我是小孩,祝大家晚上好!