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

Flash动画制作
Flash MX 2004播放器版本检测
Macromedia将发布新版Flash
Flash MX 2004的绘图新工具
微软Sparkle将取代Flash?
Macromedia给FlashMX升级
Flash和FW合作旋转文字动画
AS代码2.0:新的语言元素
AS代码2.0:脚本编辑和调试
AS代码2.0:面向对象模型
Flash MX 2004时间轴特效实例
Flash MX 2004行为功能初体验
想说透明也容易 课件导入图片背景透明技巧
Flash MX 2004对DRK组件兼容性
Flash MX 2004 总览
Flash MX 2004 支持的HTML标签
Flash MX 2004 支持的 css
Flash MX 2004新功能:行为1
LOADING的测试
LOADING制作方法
商业Flash设计经验谈(速度感)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 56 ::
收藏到网摘: 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);
};

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