/** * class : SimpleScroll * summary : 简单滚动 * version : 1.0(2006-4-6) * author : samstudio * usage: * * var sy:SimpleScroll = new SimpleScroll("_y", mask_y_mc, con_y_mc, up_y_btn, down_y_btn, 1, 5); * var sx:SimpleScroll = new SimpleScroll("_x", mask_x_mc, con_x_mc, up_x_btn, down_x_btn, 1, 5); * */ class SimpleScroll{ private var direc:String; private var maskMc:MovieClip; private var conMc:MovieClip; private var upBtn:MovieClip; private var downBtn:MovieClip; private var lowSpeed:Number; private var highSpeed:Number; //参数:滚动方向,遮罩,内容,上按钮,下按钮,低速,高速 public function SimpleScroll (type, mask, con, up, down, low, high) { direc = type; //可能值 "_x" "_y" maskMc = mask; conMc = con; upBtn = up; downBtn = down; lowSpeed = low; highSpeed = high; conMc.setMask(maskMc); var _self = this; upBtn.onRollOver = upBtn.onRelease=function () { _self.rolldown(_self.lowSpeed); }; upBtn.onPress = function() { _self.rolldown(_self.highSpeed); }; downBtn.onRollOver = downBtn.onRelease=function () { _self.rollup(_self.lowSpeed); }; downBtn.onPress = function() { _self.rollup(_self.highSpeed); }; upBtn.onRollOut = downBtn.onRollOut=function () { delete _self.maskMc.onEnterFrame; }; } private function rollup (speed:Number):Void { var _self = this; if(direc=="_y"){ maskMc.condition = maskMc._height- conMc._height + maskMc[direc] }else{ maskMc.condition =maskMc._width- conMc._width+ maskMc[direc] } maskMc.onEnterFrame = function() { if (_self.conMc[_self.direc]>_self.maskMc.condition ) { _self.conMc[_self.direc] -= speed; } else { delete _self.maskMc.onEnterFrame; } }; }; private function rolldown (speed:Number):Void { var _self = this; maskMc.onEnterFrame = function() { if (_self.conMc[_self.direc]< _self.maskMc[_self.direc]) { _self.conMc[_self.direc] += speed; } else { delete _self.maskMc.onEnterFrame; } }; }; }