当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > AS代码研究实例:随即运动参数的传递应用

Flash动画制作
Flash5的DATE对象(二)
Flash层的运用(一)
Flash 神奇遮罩之原理篇(1)
Flash 神奇遮罩之应用篇(5)
Flash 神奇遮罩之图片篇(3)
Flash 神奇遮罩之透明度篇(1)
Flash MX的自由变形工具(1)
Flash MX的自由变形工具(3)
用动作脚本动态创建和控制文本框 (7)
Freehand和Flash的结合应用(2)
Freehand和Flash的结合应用(6)
Flash 神奇遮罩之原理篇(2)
Flash 神奇遮罩之应用篇(1)
Flash 神奇遮罩之透明度篇(2)
实例学用Flash MX增强的AS功能(2)
FW MX和Flash MX的亲密合作(3)
Flash5 有声音的三眼狼(一)
Freehand和Flash的结合应用(5)
Flash5 有声音的三眼狼(三)
Freehand和Flash的结合应用(11)

Flash动画制作 中的 AS代码研究实例:随即运动参数的传递应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 112 ::
收藏到网摘: n/a

看效果:


在舞台绘制一个圆转换为影片剪辑元件,实例名称为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);
};

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