分享

【FL实例】鼠标控制图片左右循环移动

 吉祥如意988 2018-09-05

【FL实例】鼠标控制图片左右循环移动

    上面FLASH实例-鼠标控制图片左右循环移动,不需制作一般的动画动作,仅用AS实现。其特点是制作简单、当图片多时更显方便。
一、AS语句

//仅适用于图片宽度乘2大于或等于舞台宽度的情况
wtkd=660;//舞台宽度
tpkd=555;//图片宽度(原始图片宽度+空隙)
ydcs=10;//移动参数数值大移动慢
tpxwz=0;//图片X轴坐标的初始位置
tpywz=0//图片Y轴坐标的初始位置
tps=6//图片数量
tpn=2+tps
//从库里调出图片1、2...n分别存在tp1、tp2...tpn
//并且头尾加tp(n-1)、tpn、tp1、tp2...tpn、tp1、tp2
for (i=-1;itpn+1;i++){
 attachMovie(i, ["tp"+i], 1100-i);
 if (i==-1){
  attachMovie([tps-1], ["tp"+i], 1100-i);
 }
 if (i==0){
  attachMovie([tps], ["tp"+i], 1100-i);
 } 
 if (i==tpn-1){
  attachMovie("1", ["tp"+i], 1100-i);
 }
 if (i==tpn){
  attachMovie("2", ["tp"+i], 1100-i);
 }
 this["tp"+i]._y=tpywz;
}
//根据鼠标位置的方向和偏移量循环移动图片
this.onEnterFrame = function(){
 sbxwz=_root._xmouse//鼠标X轴的位置
 tpxwz-=( wtkd/2 - sbxwz ) / ydcs;//当前X轴的位置
 //各图片当前X轴的位置
 for (i=-1;itpn+1;i++){
  this["tp"+i]._x=tpxwz+(i-1)*tpkd;
 }
 //判断尾部tp1的位置,确定左移循环。
 n1=tpn-1
 if (this["tp"+n1]._x=0){
  tp1._x=0; 
  tpxwz=0;
 }
 //判断tp1的位置,确定右移循环。
    if (tp1._x>=wtkd){ 
  tp1._x=wtkd-tpkd*tps
  tpxwz=wtkd-tpkd*tps
 }
}

注意:请将上述语句中的改为英文< 

二、制作过程
    1、将上述AS语句粘帖到第一层第一帧,根据你的需要修改(舞台宽度、图片宽度、移动参数、图片X轴坐标、图片Y轴坐标、图片数量)参数值。
    2、导入图片(1、2......n)到库里,建立与图片相应的图片影片剪辑。图片影片剪辑的“链接”标识符分别为1、2......n
三、说明
仅适用于图片宽度相等且图片宽度乘2大于或等于舞台宽度的情况。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多