1NetMedia_Blog

<< MovieClip._lockroot  类别: Flash ASP获取数据库指定表的列数和列名... >>
as2.0滚动条实例
[ 日期: 2013-06-23 10:59:28 AM | 作者: admin | 来源: 本站收集 | 人气:2930 | 晴天 | 心情: +2 ] 字号: 【
急速栏目链接:
标签:flash滚动条  |  带滚轮效果  |  
点击这里 显示/隐藏 媒体
Source URL: attachments/month_200906/flashas2.0Scroll.swf


作者:刘常(琴者)
——转载请注明作者——
[要求]按住按钮拖动影片剪辑滚动或在影片剪辑上
滚动鼠标齿轮也可以滚动。
[步骤]
一、新建影片剪辑,名为"_mc",输入文字或导
入图片;
二、新建影片剪辑,名为"mask_mc",画一个长
方形,宽280、高300;
三、新建按钮元件,名为"_btn",画一个长方
形,宽20、高300;
四、新建图形元件,名为"btnbj_mc",画一个长
方形,宽20、高300;
五、回到主场景,第一层拖入"_mc",实例名为
_mc;第二层拖入"mask_mc",实例名为
mask_mc;第三层拖入"btnbj_mc";第四层拖入
"_btn",实例名为_btn;


第五层写如下动作:


/*
【元件说明】
_mc:内容区域元件
mask_mc:遮罩元件
btnbj_mc:滚动条背景元件
_btn:滚动条拖动区域元件
*/


//设置遮罩
_mc.setMask(mask_mc);
//mcHeight:申明影片剪辑滚动距离变量及按钮和按钮背景影片剪辑的可见性设置
var mcHeight = _mc._height - mask_mc._height;
if (mcHeight <= 0) {
  _btn._visible = 0;
} else {
  _btn._visible = 1;
}

//设置按钮的高度和坐标
_btn._height = int(mask_mc._height * mask_mc._height / _mc._height);
_btn._x = mask_mc._width;
_btn._y = mask_mc._y;

//btnScrollHeight:按钮按下开始拖动并设置影片剪辑的坐标
var btnScrollHeight = mask_mc._height - _btn._height;
_btn.onPress = function() {
  delete _mc.onEnterFrame;
  startDrag(this, false, mask_mc._width, mask_mc._y, mask_mc._width, btnScrollHeight);
  _mc.onEnterFrame = function() {
    this._y = -(int(_btn._y / btnScrollHeight * mcHeight));
  };
};
_btn.onRelease = _btn.onReleaseOutside = function () {
  stopDrag();
  delete _mc.onEnterFrame;
};

//滚动鼠标齿轮并设置影片剪辑滚动及按钮的坐标
_mc.onRollOver = function() {
  mouseListener = new Object();
  mouseListener.onMouseWheel = function(delta) {
    delete _mc.onEnterFrame;
    _mc._y = _mc._y + delta * 8;
    _mc.onEnterFrame = function() {
      _btn._y = -(int(_mc._y * btnScrollHeight / mcHeight));
      if (this._y >= 0) {
        this._y = 0;
        _btn._y = 0;
        delete this.onEnterFrame;
      }
      if (this._y <= -mcHeight) {
        this._y = -mcHeight;
        _btn._y = mask_mc._height - _btn._height;
        delete this.onEnterFrame;
      }
    };
  };
  Mouse.addListener(mouseListener);
};
_mc.onRollOut = function() {
  Mouse.removeListener(mouseListener);
};
   
Rss Comment  

没有相关评论

发表评论
请先注册,才能发表评论!
- 注册 -