FLASHMX2004制作缓冲滚动条效果

2008-04-02 10:39:51来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  建立对象

  

  

填写AS

  

  

AS详解

  

第1帧:

  



  

  

  


  

  

  

  
show_scroll.onPress=function()

  //滚动条被按下 锁被打开

  show_scroll.onRelease=function()

  //滚动条被放松 锁被关闭

  show_scrollbg.onPress=function()

  //滚动条空白区域被点击 锁被打开

  show_scrollbg.onMouseUp=function()

  //鼠标提升 锁被关闭

  //这里是有原因的 当您鼠标按下 放开的时候不是在滚动条背景 scrollbg的时候

  // 锁就永远不会关闭,整个图片将一直随着鼠标缓缓飘逸于您的显示器上


  


  第2帧:

  

  

  

  


  

  

  

  
if (scroll_lock=="no") {

  show_scroll._y =(_ymouse-show_scroll._y-15)/2

  }

  show_image._y =(-(show_image._height-300)*(show_scroll._y*300/270)/300-show_image._y)/20


  


  周详解释:

  show_scroll._y =(_ymouse-show_scroll._y-15)/2:其中的“15”代表滚动条长度的一半,“2”代表滚动条缓冲常数,注意:这个常数不要配置太大,以免鼠标下来了,滚动条还在上面。

  show_image._y =(-(show_image._height-300)*(show_scroll._y/270)-show_image._y)/20:show_image._y =(-(show_image._height-[滚动显示区域的高度])*(show_scroll._y/[滚动显示区域的高度-滚动条高度])-show_image._y)/[被滚动影片缓冲常数,这里不要配置太大 以免 鼠标下来了 滚动条还在上面]

  下面先讲按住滚动条滚动。当没上锁的时候,也就是滚动条scroll或背景scrollbg被按下的时候,show_scroll._y也就是滚动条的垂直位置,缓冲移动到鼠标当前位置的上15个象素,然后被滚动影片以缓冲移动到一个指定位置。

  主要的地方来了: show_image._height-300 意思就是 _ymouse-show_scroll._y-[滚动条长度的一半],show_image被移动的最大范围。然后下面就是要让 show_image滚动到的位置所占总滚动位置的比例,和滚动条移动到的y占总移动范围的比例相同。所以有了 show_image =([极限位置]-show_image._y)/20这个是缓冲的算法,向极限每次循环以当前距离的1/20靠近。

  [极限位置] =-(show_image._height-300)*(show_scroll._y/270),(show_scroll._y/270)是滚动条的 _y 占滚动范围的比例

  然后用 show_image._height-300 乘 (show_scroll._y/270) 就得到 show_image,占总滚动比例和滚动条占滚动总范围的比例相同。_y的值前面加"-"号是要达到滚动条向下,被滚动mc向上的效果。然后当您点击滚动条,可移动范围空白区域的时候,锁打开,得到鼠标当前位置,滚动条马上缓冲移动到这个位置,然后,相当于拖动滚动条移动相同,向下执行步骤。

  图例:

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 三步打造超炫Flash网页按钮

下一篇: 更改时间轴的外观