flash动作代码大全-控制影片剪辑
flash动作代码大全(二)---控制影片剪辑
控制影片剪辑
   
1、控制影片剪辑的播放与停止:tellTarget命令
      如:tellTarget(C1)
      {gotoAndStop(2)}//跳影片剪辑实例C1的第2帧并停止。
2、拖动影片剪辑:
影片剪辑-动作:
on (release) {
stopDrag();
}
on (press) {
startDrag(this);
mx.behaviors.DepthControl.bringToFront(this);
}
3、固定区域内拖动影片剪辑:
影片剪辑-动作:
onClipEvent (mouseDown) {startDrag(this,true,50,100,666,200);
}
onClipEvent (mouseUp) {stopDrag();
mx.behaviors.DepthControl.bringToFront(this);}
4、简单的控制影片的播放、暂停、前进、后退、停止
1 打开flash,按ctrl+F8,新建立一个影片剪辑,并起名字为mc。需要先做一个简单的移动动画的影片剪辑。就做一个圆形的滚动效果吧。
2 回到舞台工作区,按F11打开库,将mc影片剪辑拖放到舞台中。并给这个实例起个名字叫mc。(现在就可以按ctrl+回车测试效果,你可以看到这个圆形一直在不停的移动。)
3 添加脚本,现在要让这个mc在影片一开始不要自动播放,不然怎么来控制它呢。咱们把脚本写在时间轴的关键桢上。选中时间轴的第一桢,按F9打开动作面板,选择专家模式,
输入:_stop(); _root代表舞台,这个脚本的意思就是,舞台上名字叫mc的实例停止播放。)
4 现在咱们来制作几个按钮,分别表示播放、暂停、前进、后退、停止。并摆放在舞台上。关于按钮的制作方法我就不多介绍。
 5 现在要添加控制影片的脚本。这次把脚本直接写在舞台上这些按钮的身上。选中播放按钮,打开动作面板,输入:
on (release) {
_play();
}
  如果要在按钮身上写脚本的话,必须使用on(事件){//脚本程序}的格式来写!上面的脚本作用就是:当你在这个按钮上按一下鼠标(release事件)的时候,就会执行下面的_play();程序,它的意思是让舞台上的mc开始播放!
  6、同理:咱们选中舞台上的暂停按钮,在它上面输入:
on (release) {
_stop()
}
  然后依次在快退上输入:
on (release) {
_prevFrame(); //prevFrame表示回到动画的上一桢
}
  在快进的按钮上输入:
on (release) {
_Frame();
}
  在停止的按钮上输入:
on (release) {
_AndStop(1); //跳到mc影片的第一桢,并停止播放!
}
  好了,到现在为止就结束啦,你可以按ctrl+回车测试一下你的成果咯。

5、怎样改变某一影片剪辑的播放速度
function go(obj) { 
    with (obj) { 
        nextFrame(); 
        if (_currentframe == _totalframes) { 
            gotoAndStop(1); 
        }
    }

go(mc); 
setInterval(go, 100, mc);
6、控制影片剪辑移动的方法。FLASH中能够移动的物体一般是舞台上的MC,并且其实例
名为my_mcFLASH中物体的移动是在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帧:flash按钮制作
var mx = 5;//设定初始速度为5
EnterFrame = function() {
my_mc._x += mx;//不断刷新my_mc的向右运动
};//方法一需要3帧才能运动,而此方法二只需要一帧就可以使其运动,这是主要区别
或者:
var mx = 5;//初始速度值为5
onEnterFrame = function () {
my_mc._x += mx;
};//此方法三与方法二的区别在于,方法二中EnterFrame中的this是指当前时间轴;而在此方法三中直接用onEnterFrame,并未用this,就表示暗指当前时间轴
或者:
var mx = 5;//初始速度值5
EnterFrame = function() {
this._x += mx;
};//此处的EnterFrame指方法是加在my_mc上的.
方法三:
主场景my_mc上:
onClipEvent (load) {
var mx = 5;//初始速度值5
}
onClipEvent (enterFrame) {
_x += mx;//触发my_mc实例定义的动作是x轴坐标不断增值5
}

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

方法五:
ve = function(Object, x) {
var mx = x;
onEnterFrame = function () {
Object._x += mx;
};
};
mcmove(my_mc, 5);
2、垂直方向上或向下匀速运动
以上实例的运动方向都是水平从左向右匀速运动,如果需要垂直方向上的向下匀速运动只需要把MC_x属性改为_y
如:
var my = 5;
EnterFrame = function() {
my_mc._y += my;
};

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。