·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3滚动条源代码实例

时间:2014-01-09 22:21www.okxs.net
[AS3]AS3滚动条源代码实例,滚动条在FLASH应用中极其广泛,对于FLASH WEB开发的从业者来说几乎每天都在使用它。

滚动条在FLASH应用中极其广泛,对于FLASH WEB开发的从业者来说几乎每天都在使用它。制作上看上去算不上简单,当然也不难,关键掌握它的滚动原理,滚动条的制作就自然不是问题。

滚动公式:

滚动内容的位置 = 内容的起始位置 - (滚动百分比 x 可滚动区域)

  1. package { 
  2.  import flash.display.MovieClip; 
  3.  import flash.events.MouseEvent; 
  4.  import flash.geom.Rectangle; 
  5.  import flash.events.Event; 
  6.  public class scrollbar extends MovieClip { 
  7.   private var maskmc:MovieClip; 
  8.   private var line:MovieClip; 
  9.   private var main:MovieClip; 
  10.   private var btn:MovieClip; 
  11.   private var Rect:int; 
  12.   private var del:int=10
  13.   public function scrollbar():void { 
  14.    init(); 
  15.   } 
  16.   private function init():void { 
  17.    main = new Main_mc(); 
  18.    addChild(main); 
  19.    maskmc = new Mask_mc(); 
  20.    addChild(maskmc); 
  21.    line = new Line_mc(); 
  22.    addChild(line); 
  23.    btn = new s_btn(); 
  24.    addChild(btn); 
  25.    main.mask = maskmc
  26.    btn.buttonMode = true
  27.    line.x=btn.x=stage.stageWidth-line.width/2; 
  28.    main.x=maskmc.x=main.width/2; 
  29.    btn.addEventListener(MouseEvent.MOUSE_OVER,Bover); 
  30.    btn.addEventListener(MouseEvent.MOUSE_OUT,Bout); 
  31.    btn.addEventListener(MouseEvent.MOUSE_DOWN,Bdown); 
  32.    btn.addEventListener(MouseEvent.MOUSE_UP,Bup); 
  33.    btn.addEventListener(Event.ENTER_FRAME,Bscroll); 
  34.    addEventListener(MouseEvent.MOUSE_WHEEL,Bwheel); 
  35.   } 
  36.   private function Bover(e:MouseEvent):void { 
  37.    btn.gotoAndPlay("v1"); 
  38.  
  39.   } 
  40.   //www.cuplayer.com提示:鼠标移出时 
  41.   private function Bout(e:MouseEvent):void { 
  42.    btn.gotoAndPlay("v2"); 
  43.     
  44.    btn.stage.addEventListener(MouseEvent.MOUSE_UP,Bup); 
  45.     
  46.    btn.stage.addEventListener(Event.ENTER_FRAME,Bscroll); 
  47.  
  48.   } 
  49.   //www.cuplayer.com提示:鼠标按下时 
  50.   private function Bdown(e:MouseEvent):void { 
  51.    var Rect:Rectangle = new Rectangle(line.x,0,0,line.height-btn.height); 
  52.    btn.startDrag(false,Rect); 
  53.   } 
  54.   //www.cuplayer.com提示:鼠标弹起时 
  55.   private function Bup(e:MouseEvent):void { 
  56.    btn.stopDrag(); 
  57.    btn.removeEventListener(Event.ENTER_FRAME,Bscroll); 
  58.    
  59.   } 
  60.   //www.cuplayer.com提示:移动控制 
  61.   private function Bscroll(e:Event):void { 
  62.    var mainY:int =-btn.y*(main.height-maskmc.height)/(line.height-btn.height); 
  63.    main.y+=(mainY-main.y)/5; 
  64.   } 
  65.   //www.cuplayer.com提示:鼠标滚轮滚动时 
  66.   private function Bwheel(e:MouseEvent) { 
  67.    var _delta:int=e.delta; 
  68.    if (_delta>0) { 
  69.     if (btn.y>0) { 
  70.      btn.y-=del
  71.     } else { 
  72.      btn.y=0
  73.     } 
  74.    } else { 
  75.     if (btn.y<line.height-btn.height) { 
  76.      btn.y+=del; 
  77.     } else { 
  78.      btn.y=line.height-btn.height; 
  79.     } 
  80.    } 
  81.   } 
  82.  
  83.  } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器