·您当前的位置:首页 > 技术教程 > Rtmp技术 >

[AS3]flash滚动条用于响应鼠标事件的示例代码

时间:2013-02-03 21:36CuPlayer
代码使用很方便只要调整遮照层的位置和拖动的scrollbar的位置就可以了,对其方式是完全自动的。以下是代码(写在关键桢上,其中 scrollMask遮照了滚动文本内容scrollContent

  功能:可以响应鼠标拖动,鼠标划过、点击上下键,鼠标滚轮
关键词:flash 滚动文本 侦听器
说明:代码使用很方便只要调整遮照层的位置和拖动的scrollbar的位置就可以了,对其方式是完全自动的。以下是代码(写在关键桢上,其中 scrollMask遮照了滚动文本内容scrollContent,而scrollBar就是滚动条被拖动的了,scrollLine是滚动条的背景, 那条线,scrollUp是滚动条向上的箭头,scrollDown是滚动条向下的箭头,全部为实例名)

  1. //各mc纵坐标自动基于scrollMask定位,顶端对齐; 
  2. //scoll的控制条部分根据scrollBar的横坐标自动居中对齐; 
  3. //不需要修改代码 
  4. var _maskY:Number = int(scrollMask._y); 
  5. var _maskH:Number = int(scrollMask._height); 
  6. var _barH:Number = int(scrollBar._height); 
  7. var _upH:Number = int(scrollUp._height); 
  8. var _downH:Number = int(scrollDown._height); 
  9. var top:Number = _maskY+_upH; 
  10. var bottom:Number = _maskY+_maskH-_barH-_downH; 
  11. scrollBar._top = top; 
  12. scrollBar._bottom = bottom; 
  13. left = int(scrollBar._x); 
  14. scrollBar._y = _maskY+_upH; 
  15. scrollContent._y = _maskY
  16. scrollLine._y = _maskY
  17. scrollLine._height = _maskH
  18. scrollUp._y = _maskY
  19. scrollDown._y = _maskY+_maskH-_downH; 
  20. var barC:Number = int(scrollBar._x+scrollBar._width/2)+1; 
  21. scrollLine._x = int(barC-scrollLine._width/2); 
  22. scrollUp._x = int(barC-scrollUp._width/2); 
  23. scrollDown._x = int(barC-scrollDown._width/2); 
  24. var speed:Number = 6
  25. var nSpeedLow:Number = 1
  26. var nSpeedHigh:Number = 3
  27. dis = (scrollContent._height-_maskH+10)/(bottom-top); 
  28. contentStartY = scrollContent._y; 
  29. var down:Boolean = true
  30. scrollContent._y = bottom
  31. scrollBar.onPress = function() { 
  32.   scrollBar.startDrag(0, left, top, left, bottom); 
  33.   down = true
  34. }; 
  35. scrollBar.onMouseUp = function() { 
  36.   scrollBar.stopDrag(); 
  37.   down = true
  38. }; 
  39. this.onEnterFrame = function() { 
  40.   if (down) { 
  41.     disMove = (scrollBar._y-top)*dis; 
  42.     scrollContent.yMove = contentStartY-disMove; 
  43.   } 
  44.   // cuplayer.com                                        
  45.   scrollContentscrollContent._y = scrollContent._y+(scrollContent.yMove-scrollContent._y)/speed; 
  46. }; 
  47. //mousewheel event------------------------ 
  48. mouseListener = new Object(); 
  49. mouseListener.onMouseWheel = function(delta) { 
  50.   down = true
  51.   scrollBarscrollBar._y = scrollBar._y-delta*3; 
  52.   if (scrollBar._y>=bottom) { 
  53.     scrollBar._y = bottom
  54.   } else if (scrollBar._y<=top) { 
  55.     scrollBar._y = top
  56.   } 
  57.   //  cuplayer.com                                        
  58. }; 
  59. Mouse.addListener(mouseListener); 
  60. //up and down btn event 
  61. scrollBar.onEnterFrame = function() { 
  62.   if (this.d && this._y<this._bottom) { 
  63.     this._y += this.s; 
  64.   } 
  65.   // cuplayer.com     
  66.   if (this.u && this._y>this._top) { 
  67.     this._y -this.s; 
  68.   } 
  69.   // cuplayer.com     
  70. }; 
  71. //down 
  72. scrollDown.onRollOver = function() { 
  73.   scrollBar.d = true
  74.   scrollBar.s = nSpeedLow
  75.   down = true
  76. }; 
  77. scrollDown.onPress = function() { 
  78.   scrollBar.d = true
  79.   scrollBar.s = nSpeedHigh
  80.   down = true
  81. }; 
  82. scrollDown.onRelease = function() { 
  83.   scrollBar.d = true
  84.   scrollBar.s = nSpeedLow
  85.   down = true
  86. }; 
  87. scrollDown.onRollOut = function() { 
  88.   scrollBar.d = false
  89.   scrollBar.s = 0
  90.   down = false
  91. }; 
  92. scrollDown.onReleaseOutside = function() { 
  93.   scrollBar.d = false
  94.   scrollBar.s = 0
  95.   down = false
  96. }; 
  97. //up  cuplayer.com     
  98. scrollUp.onRollOver = function() { 
  99.   scrollBar.u = true
  100.   scrollBar.s = nSpeedLow
  101.   down = true
  102. }; 
  103. scrollUp.onPress = function() { 
  104.   scrollBar.u = true
  105.   scrollBar.s = nSpeedHigh
  106.   down = true
  107. }; 
  108. scrollUp.onRelease = function() { 
  109.   scrollBar.u = true
  110.   scrollBar.s = nSpeedLow
  111.   down = true
  112. }; 
  113. scrollUp.onRollOut = function() { 
  114.   scrollBar.u = false
  115.   scrollBar.s = 0
  116.   down = false
  117. }; 
  118. scrollUp.onReleaseOutside = function() { 
  119.   scrollBar.u = false
  120.   scrollBar.s = 0
  121.   down = false
  122. }; 


 

热门文章推荐

请稍候...

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

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