求flash as2鼠标控制左右无缝循环代码?
一、做一个影片剪辑MC1,里边有你的十张图,要大小一样,然后依次排开,摆好后再将这十张图复制到十张图之后,如图所示。
二、将MC1再转换成一个影片剪辑MC2,在MC2中做动画,第一帧将MC1放到0坐标处,第300帧(这个你自己看着办),将MC1拖动到一半的地方,做补间动画,实现后的效果是十张图片依次向左移动,这时需要在第299帧,即倒数第二帧加关键帧,把最后一帧删除,这一步很重要,否则会造成移动时停顿一下。
三、将MC2拖到舞台上放好,在属性面板中加实例名如mc
四、将如下代码放到主时间轴上:
this.onEnterFrame=function()//这是给舞台加一个帧频事件
{
if(this._xmouse<Stage.width/2-10)//如果鼠标位于舞台左半边,
{
mc.onEnterFrame=function()//给MC2加帧频事件,让其倒播,即向右移动
{
if(this._currentframe==1)//检测是否到达第一帧
{
this.gotoAndStop(this._totalframes);//如果是则跳到最后一帧
}
else
{
this.prevFrame();//否则播放前一帧
}
}
}
else if(this._xmouse>Stage.width/2+10)//如果鼠标位于舞台右半边,则去掉MC2的帧频事件,让MC2正常播放
{
mc.onEnterFrame=null;
mc.play();
}
else//如果鼠标位于舞台中间20像素内,则停止移动
{
mc.stop();
}
}
五,测试效果,如果不对,则多试几次,代码是经过测试的。这个方法是最简单的,要不使用缓动函数,相信你会更晕。。。祝你成功吧!