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

Flash动画制作
Flash AS 3.0实例教程:用Tween类制作缓动动画
Flash AS2实例教程:制作镭射闪光字动画效果
Flash AS2基础教程:一步绘制线条
Flash cs3仿真艺术设计4.4:模糊滤镜的应用
Flash cs3仿真艺术设计4.5:模糊运动制作飞行文字
Flash cs3仿真艺术设计4.6:组合效果应用实例
Flash cs3仿真艺术设计4.7:模糊滤镜的应用
Flash AS 3.0基础教程:物理基础之重力
Flash AS3.0菜鸟学飞教程:创建自定义类
Flash cs3仿真艺术设计4.8:选择模糊的应用
Flash cs3仿真艺术设计4.9:背景模糊应用技巧
Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类
Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件
Flash cs3仿真艺术设计5.1:2.5D基础应用
Flash cs3仿真艺术设计5.2:2.5D高级应用
Flash AS3.0菜鸟学飞教程:含有多个类的AS3类文件
Flash AS3.0实例教程:AS3.0代码制作3D旋转动画效果
Flash cs3仿真艺术设计5.3:2.5D动画技巧之绘制猴子
Flash cs3仿真艺术设计5.4:交换方法制作嘴型吻合
Flash cs3仿真艺术设计5.5:嵌套法打造角色嘴型吻合

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


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

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