当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > FLASH中的移动方法教程和实例集锦(适合新手)

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

Flash动画制作 中的 FLASH中的移动方法教程和实例集锦(适合新手)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 79 ::
收藏到网摘: n/a

在此只探讨用AS语句去控制移动的方法。FLASH中能够移动的物体一般是舞台上的电影实例(为节省篇幅以下简称为MC,并且其实例名为my_mc)。FLASH中物体的移动是在X轴(即水平)方向或Y轴(垂直)方向的运动。因此,通过控制mc属性中的_x与_y的值就可以达到使其运动的目的。



一、匀速运动


1、水平方向上的向右匀速运动

方法一:
主场景第1帧:var mx=5;//设定初始速度为5
主场景第2帧:my_mc._x+=mx;//名称为my_mc的电影实例以步幅5的速度向右移动,
主场景第3帧:gotoAndPlay(2);// 跳转到第二帧,再次激发my_mc电影实例以步幅5的速度向右移动后又会跳转到此帧,并再次激发运动,如此周而得始地激发,就达到了不断向右运动的目的.
(见实例匀速运动1_1_1)

匀速运动1_1_1.swf

匀速运动1_1_1.fla

方法二:
主场景第1帧:
var mx = 5;//设定初始速度为5
this.onEnterFrame = function() {
        my_mc._x += mx;//不断刷新my_mc的向右运动
};//方法一需要3帧才能运动,而此方法二只需要一帧就可以使其运动,这是主要区别
(见实例匀速运动1_1_2_1)

匀速运动1_1_2_1.swf

匀速运动1_1_2_1.fla

或者:
var mx = 5;//初始速度值为5
onEnterFrame = function () {
        my_mc._x += mx;
};//此方法三与方法二的区别在于,方法二中this.onEnterFrame中的this是指当前时间轴;而在此方法三中直接用onEnterFrame,并未用this时,就表示暗指当前时间轴
(见实例匀速运动1_1_2_2)

匀速运动1_1_2_2.swf

匀速运动1_1_2_2.fla

或者:
var mx = 5;//初始速度值5
my_mc.onEnterFrame = function() {
        this._x += mx;
};//此处的my_mc.onEnterFrame指方法是加在my_mc上的.
(见实例匀速运动1_1_2_3)

匀速运动1_1_2_3.swf

匀速运动1_1_2_3.fla

方法三:
主场景my_mc上:
onClipEvent (load) {
        var mx = 5;//初始速度值5
}
onClipEvent (enterFrame) {
        _x += mx;//触发my_mc实例定义的动作是x轴坐标不断增值5。
}//(见实例匀速运动1_1_3_1)

匀速运动1_1_3_1.swf

匀速运动1_1_3_1.fla

方法四:
主场景第1帧:
function moveToRight(Object, xVar) {//定义函数的方法
        var mx = xVar;
        onEnterFrame = function () {
                Object._x += mx;
        };
}
moveToRight(my_mc, 5);
//(见实例匀速运动1_1_4_1)

匀速运动1_1_4_1.swf

匀速运动1_1_4_1.fla

方法五:
MovieClip.prototype.mcmove = function(Object, x) {
        var mx = x;
        onEnterFrame = function () {
                O