日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 辦公 > Flash > 正文

火山動態文本滾動條V5[AS3版]

2024-09-12 17:50:58
字體:
來源:轉載
供稿:網友
在線演示
打包文件下載
復制代碼 代碼如下:

package com.qoolu.component
{
    import flash.events.MouseEvent;    
    import flash.events.Event;    
    import flash.display.SimpleButton;    
    import flash.text.TextField;    
    import flash.display.Sprite;
    import flash.utils.getTimer;
    import flash.geom.Rectangle;
    /**
     * @author 寂寞火山:[url]http://www.huoshan.org[/url]
     * @version V5 [08.3.15]
     * 動態文本滾動條
     */
    public class ScrollBar extends Sprite {
        //=============本類屬性==============
        ////接口元件
        private var scrollText : TextField;
        private var scrollBar_sprite : Sprite;
        private var up_btn : SimpleButton;
        private var down_btn : SimpleButton;
        private var pole_sprite : Sprite;
        private var bg_sprite : Sprite;
        ////初始數據
        private var poleStartHeight : Number;
        private var poleStartY : Number;
        private var totalPixels : Number;
        private var isSelect : Boolean;
        ////上下滾動按鈕按鈕下時間
        private var putTime : Number;
        /**
         * @param scrollText_fc:被滾動的文本框
         * @param scrollBarMc_fc:舞臺上與本類所代理的滾動條元件
         * @param height_fc:滾動條高
         * @param width_fc:滾動條寬
         */
        public function ScrollBar(scrollText_fc : TextField, scrollBarMc_fc : Sprite, height_fc : uint = 0,width_fc : uint = 0) {
            //――――――滾動條_sprite,滾動條按鈕和滑塊mc,被滾動的文本域初始化
            scrollText = scrollText_fc;
            scrollBar_sprite = scrollBarMc_fc;
            up_btn = SimpleButton(scrollBar_sprite.getChildByName("up_btn"));
            down_btn = SimpleButton(scrollBar_sprite.getChildByName("down_btn"));
            pole_sprite = Sprite(scrollBar_sprite.getChildByName("pole_mc"));
            bg_sprite = Sprite(scrollBar_sprite.getChildByName("bg_mc"));

            //――――――可用性控制
            pole_sprite.visible = false;
            up_btn.enabled = false;
            down_btn.enabled = false;

            //――――――其他屬性初始化
            bg_sprite.useHandCursor = false;
            isSelect = scrollText.selectable;
            if(height_fc == 0) {
                bg_sprite.height = scrollText.height;
            }else {
                bg_sprite.height = height_fc;
            }
            if(width_fc != 0) { 
                bg_sprite.width = width_fc + 2;
                pole_sprite.width = width_fc;
                up_btn.width = up_btn.height = down_btn.width = down_btn .height = width_fc;    
            }
            down_btn.y = bg_sprite.y + bg_sprite.height - down_btn.height - 1;
            poleStartHeight = Math.floor(down_btn.y - up_btn.y - up_btn.height);
            poleStartY = pole_sprite.y = Math.floor(up_btn.y + up_btn.height);

            //――――――注冊偵聽器
            //文本滾動與鼠標滾輪
            scrollText.addEventListener(Event.SCROLL, textScroll);
            scrollText.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheel);
            //上滾動按鈕
            up_btn.addEventListener(MouseEvent.MOUSE_DOWN, upBtn);
            up_btn.stage.addEventListener(MouseEvent.MOUSE_UP, upBtnUp);
            //下滾動按鈕
            down_btn.addEventListener(MouseEvent.MOUSE_DOWN, downBtn);
            down_btn.stage.addEventListener(MouseEvent.MOUSE_UP, downBtnUp);
            //滑塊
            pole_sprite.addEventListener(MouseEvent.MOUSE_DOWN, poleSprite);
            pole_sprite.stage.addEventListener(MouseEvent.MOUSE_UP, poleUp);
            //滑塊背景點擊
            bg_sprite.addEventListener(MouseEvent.MOUSE_DOWN, bgDown);
        }
        /**
         * 文本滾動事件
         */
        private function textScroll(event : Event) : void {
            //判斷滑塊兒是否顯示,并根據文本內容多少定義滑塊高度
            if(scrollText.maxScrollV != 1) {
                pole_sprite.visible = true;
                up_btn.enabled = true;
                down_btn.enabled = true;
                //定義一個高度因子,此因子隨加載文本的增多,將無限趨向于1
                var heightVar : Number = 1 - (scrollText.maxScrollV - 1) / scrollText.maxScrollV;
                //根據高度因子初始化滑塊的高度
                pole_sprite.height = Math.floor(poleStartHeight * Math.pow(heightVar, 1 / 3));
                totalPixels = Math.floor(down_btn.y - up_btn.y - up_btn.height - pole_sprite.height);
                pole_sprite.y = Math.floor(poleStartY + totalPixels * (scrollText.scrollV - 1) / (scrollText.maxScrollV - 1));
            }else {
                pole_sprite.visible = false;
                up_btn.enabled = false;
                down_btn.enabled = false;
            }
        }
        /**
         * 滑塊滾動
         */
        private function poleSprite(event : MouseEvent) : void {
            //首先取消文本框滾動偵聽,因為文本滾動的時候會設置滑塊的位置,而此時是通過滑塊調整文本的位置,所以會產生沖突
            scrollText.removeEventListener(Event.SCROLL, textScroll);
            //監聽舞臺,這樣可以保證拖動滑竿的時候,鼠標在舞臺的任意位置松手,都會停止拖動
            scrollBar_sprite.stage.addEventListener(MouseEvent.MOUSE_UP, poleUp);
            //限定拖動范圍
            var dragRect : Rectangle = new Rectangle(pole_sprite.x, poleStartY, 0, totalPixels);
            pole_sprite.startDrag(false, dragRect);
            scrollBar_sprite.addEventListener(Event.ENTER_FRAME, poleDown);
        }
        private function poleDown(event : Event) : void {
            //在滾動過程中及時獲得滑塊所處位置
            var nowPosition : Number = Math.floor(pole_sprite.y);
            //使文本隨滾動條滾動,這里為什么要加1,可見scroll屬性值應該是取正的,也就是說它會刪除小數部分,而非采用四舍五入制?
            scrollText.scrollV = (scrollText.maxScrollV - 1) * (nowPosition - poleStartY) / totalPixels + 2;
            //誤差校正
            var unitPixels : Number = totalPixels / (scrollText.maxScrollV - 1);
            if((nowPosition - poleStartY) < unitPixels) {
                scrollText.scrollV = (scrollText.maxScrollV - 1) * (nowPosition - poleStartY) / totalPixels;
            }
        }
        private function poleUp(event : MouseEvent) : void {
            pole_sprite.stopDrag();
            scrollBar_sprite.removeEventListener(Event.ENTER_FRAME, poleDown);
            scrollBar_sprite.stage.removeEventListener(MouseEvent.MOUSE_UP, poleUp);
            scrollText.addEventListener(Event.SCROLL, textScroll);
        }
        /**
         * 滑塊背景點擊
         */
        private function bgDown(event : MouseEvent) : void {    
            var nowPosition : Number;
            if((scrollBar_sprite.mouseY - up_btn.y) < (pole_sprite.height / 2)) {
                nowPosition = Math.floor(up_btn.y + up_btn.height);
            }else if((down_btn.y - scrollBar_sprite.mouseY) < pole_sprite.height / 2) {
                nowPosition = Math.floor(down_btn.y - pole_sprite.height);
            }else {
                nowPosition = scrollBar_sprite.mouseY - pole_sprite.height / 2;
            }
            pole_sprite.y = nowPosition;
            scrollText.scrollV = (scrollText.maxScrollV - 1) * (nowPosition - poleStartY) / totalPixels + 2;
            var unitPixels : Number = totalPixels / (scrollText.maxScrollV - 1);
            if((nowPosition - poleStartY) < unitPixels) {
                scrollText.scrollV = (scrollText.maxScrollV - 1) * (nowPosition - poleStartY) / totalPixels + 1;
            }
        }
        /**
         * 下滾動按鈕
         */
        private function downBtn(event : MouseEvent) : void {
            scrollText.scrollV++;
            pole_sprite.y = Math.floor(poleStartY + totalPixels * (scrollText.scrollV - 1) / (scrollText.maxScrollV - 1));
            //當鼠標在按鈕上按下的時間大于設定時間時,連續滾動
            putTime = getTimer();
            scrollBar_sprite.addEventListener(Event.ENTER_FRAME, downBtnDown);    
        }
        private function downBtnDown(event : Event) : void {
            if(getTimer() - putTime > 500) {
                scrollText.scrollV++;
                pole_sprite.y = Math.floor(poleStartY + totalPixels * (scrollText.scrollV - 1) / (scrollText.maxScrollV - 1));
            }
        }    
        private function downBtnUp(event : MouseEvent) : void {
            scrollBar_sprite.removeEventListener(Event.ENTER_FRAME, downBtnDown);
        }
        /**
         * 上滾動按鈕
         */
        private function upBtn(event : MouseEvent) : void {
            scrollText.scrollV--;
            pole_sprite.y = Math.floor(poleStartY + totalPixels * (scrollText.scrollV - 1) / (scrollText.maxScrollV - 1));
            //當鼠標在按鈕上按下的時間大于設定時間時,連續滾動
            putTime = getTimer();
            scrollBar_sprite.addEventListener(Event.ENTER_FRAME, upBtnDown);    
        }
        private function upBtnDown(event : Event) : void {
            if(getTimer() - putTime > 500) {
                scrollText.scrollV--;
                pole_sprite.y = Math.floor(poleStartY + totalPixels * (scrollText.scrollV - 1) / (scrollText.maxScrollV - 1));
            }
        }
        private function upBtnUp(event : MouseEvent) : void {
            scrollBar_sprite.removeEventListener(Event.ENTER_FRAME, upBtnDown);
        }
        /**
         * 鼠標滾輪事件
         */
        private function mouseWheel(event : MouseEvent) : void {
            if(isSelect == false) {
                scrollText.scrollV -= Math.floor(event.delta / 2);
            }else if(isSelect == true) {
                event.delta = 1;
            }
            pole_sprite.y = Math.floor(poleStartY + totalPixels * (scrollText.scrollV - 1) / (scrollText.maxScrollV - 1));
        }
    }
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产亚洲福利| 不卡一区2区| 亚洲伊人婷婷| 91精品在线观| 色欧美日韩亚洲| 日韩欧美国产成人精品免费| 日本不卡一区在线| 正在播放日韩精品| 国产福利一区二区| 91一区二区| 精品欧美日韩在线| 激情国产在线| 日韩一二三四区| 欧美日韩在线中文字幕| 亚洲黄页一区| 亚洲三级欧美| 精品在线观看一区| 精品久久久久久无| 欧美亚洲国产日韩2020| 日本免费在线视频不卡一不卡二| 日韩三级视频中文字幕| 国产www在线观看| 国产欧美日韩中文| 日韩国产高清一区| 日韩欧美国产高清| 在线国产三级| 国产在线观看91| 99久久精品国产成人一区二区| 91精品久久久久久久久久| 欧美 中文字幕| 黄色片免费看| 成人一区二区不卡免费| 亚洲综合日韩中文字幕v在线| 在线视频亚洲| 国产高潮久久久| 搞黄在线观看| 日韩区欧美区| 日韩欧美亚洲区| 国产黄在线看| 一区二区三区精品99久久| 欧美片网站免费| 欧美日韩国产片| av中文天堂在线| 精品国产乱码久久久久久蜜臀| 91www成人久久| 精人妻一区二区三区| 一区二区三区在线|网站| 国内精品99| 高清国产一区| 久久网站免费观看| 欧美一级一级性生活免费录像| 午夜国产福利在线观看| 国产欧亚日韩视频| 欧美日韩国产免费观看| 国产v日产∨综合v精品视频| 欧美日韩国产三级| 日韩国产一区三区| 天堂在线中文资源| 国产在线观看黄色| 亚洲综合日韩中文字幕v在线| 国产福利第一页| www.久久久精品| 欧美日韩精品免费看| 亚洲高清不卡一区| 日本不卡一区在线| 日韩三级视频在线| 日韩一级在线视频 | 午夜精品免费视频| 国产一区精品在线| 国产高清一区| 91精品国产91久久| 欧美1234区| 中文字幕高清在线播放| 日韩视频在线一区| 婷婷精品进入| 午夜国产福利在线观看| 国产手机视频一区二区| 亚洲一区三区在线观看| 日韩你懂的电影在线观看| 亚洲精品中文字幕乱码三区不卡| 欧美乱大交xxxxx另类| 亚洲成av人片| 国产视频二区| 国产亚洲短视频| 亚亚洲欧洲精品| 日韩视频精品在线| 久久综合久久综合九色| 国产一卡二卡3卡4卡四卡在线| 欧美成人精品在线| 欧美日韩综合视频| 亚洲影视资源网| 国产成人va亚洲电影| 一级片免费在线播放| 亚洲a中文字幕| 欧美色视频一区二区三区在线观看| 久久在线91| 一区二区三区免费看视频| 国产福利一区在线观看| 久久91精品国产91久久小草| 中文字幕日韩欧美在线| 中文字幕五月欧美| 91精品国产综合久久久久久漫画| 国产免费久久| 欧美三级中文字幕在线观看| 97久久精品| 欧美亚洲天堂| 欧美国产亚洲一区| 亚洲三级网站| 亚洲素人一区二区| 欧美日韩在线播放视频| 欧美日韩高清| 国产区在线看| 亚洲成年人在线播放| 日韩在线不卡一区| 久久久精品欧美| 九一久久久久久| 欧美激情一区二区三区在线| 天堂在线视频中文网| 欧美亚洲专区| 日韩欧美高清在线| 在线观看区一区二| 欧美三级免费观看| 日韩免费精品视频| 精品综合久久久久| 中文字幕 亚洲一区| 高清一区二区| 亚洲大片精品永久免费| 日韩在线 中文字幕| 日韩1区在线| www日韩欧美| 国产欧美久久久久久久久| 日韩中文字幕视频网| 不卡视频一区二区| 日韩不卡在线观看| 91精选在线| 亚洲大片精品永久免费| 精品一性一色一乱农村| 色综合天天性综合| 欧美日韩国产一二三| av免费观看国产| 久久婷婷国产| 精品亚洲综合| 91av久久久| 欧美日韩综合色| 精品乱人伦一区二区三区| 日本中文字幕在线观看| 国产日韩精品在线| 久久精品国产2020观看福利| 国产蜜臀在线| 免费在线视频一级不卡| 中文字幕国产视频| 国产中文伊人| 日本xxxwww免费视频| 中文在线第一页| 中文亚洲欧美| 午夜精品免费视频| 黄色欧美日韩| 国产在线精品日韩| 在线视频观看日韩| 国产传媒久久久| 日韩欧美一卡二卡| 亚洲a中文字幕| 午夜亚洲福利| 欧美日韩一区二区在线视频| 91精品视频国产| 欧美日韩高清一区二区| 精品在线一区二区| 欧美 日韩 综合| 91精品在线观看视频| 国产福利在线导航| 欧美不卡一区二区| 欧美日韩综合视频网址| 91精品国产入口| 国产免费一级| 亚洲电影中文字幕在线观看| 日韩欧美亚洲日产国| av首页在线| 一级片免费在线播放| 日韩中文字幕在线观看视频| 中文字幕视频在线观看| 久久久精品国产99久久精品芒果| 91麻豆精品在线| 中文字幕亚洲第一| 国产日韩精品在线看| 久久99精品久久久| 亚洲一区在线观看视频| 欧美 日韩 综合| 亚洲 国产 欧美 日韩| 国产真实乱子伦精品视频| 欧美中文字幕精品| 国产福利免费在线观看| 亚洲国产专区| 一区在线播放视频| 国产高清一级片| 欧美日韩国产免费观看| 91久久精品在线| 91蜜桃婷婷狠狠久久综合9色| 精品日韩在线观看| 日韩欧美中文字幕视频| 精品福利二区三区| 国产欧美中文在线| 国产黄色片中文字幕| 日韩一级二级三级| 视频一区视频二区中文| 国产日韩在线亚洲字幕中文| 日韩欧美国产亚洲| 欧美日韩色综合| 日韩国产一区| 日韩精品在线网站| 欧美中文字幕视频在线观看| 中文字幕亚洲在| 91精品国产高清| 午夜成人鲁丝片午夜精品| 亚洲va韩国va欧美va精品| 欧美二区在线观看| 在线看欧美日韩| 91麻豆免费视频网站| 一区二区三区在线|网站| 欧美日韩久久不卡| 一二三区精品福利视频| 国产一二三视频| 久草视频观看| 国产福利精品导航| 久久久久黄色| 欧美 日韩 综合| 精品国产99久久久久久| 日韩欧美中文字幕公布| 欧美特黄一区| 99精品人妻国产毛片| 伊人中文字幕在线观看| 日韩精品视频中文字幕| 亚洲第一视频在线观看| 欧美日韩综合在线| 中文字幕 欧美 日韩| 日韩在线精品| 国产福利在线导航| 一区精品在线播放| 一区二区三区在线免费| 欧美日韩国产999| 日韩午夜一区| 日韩精品视频网| 精品久久久久久综合日本欧美| 中文字幕亚洲第一| 中文字幕精品国产| 亚洲第一精品在线| 亚洲一区中文在线| 国产日韩精品在线观看| 欧美 日韩 国产在线| 日韩欧美资源站| 欧美日韩在线视频一区| 亚洲精品欧美二区三区中文字幕 | 国产午夜精品视频| 欧美日韩国产中文精品字幕自在自线 | 精品在线91| 国产一级免费看| 一区二区91| 欧美在线观看视频一区| 欧美日韩在线视频首页| 日韩视频在线观看视频| 成人一区而且| 欧美成人二区| 亚洲免费福利视频| 亚洲一区中文字幕在线| 日韩在线中文| 午夜少妇久久久久久久久| 日韩三级视频在线播放| 日韩精品在线私人| 日韩精品视频中文字幕| 国产区高清在线| 视频一区日韩| 99视频精品全国免费| 一区二区日韩免费看| 日韩国产在线不卡视频| av首页在线| 九九九精品视频| 久久久精品国产99久久精品芒果| 一区二区三区鲁丝不卡| av手机天堂| 99久久www免费| 日韩中文字幕亚洲| 国产自产视频| 中文字幕亚洲欧美| 99久久精品国产成人一区二区| 91精品国产综合久久久久久| 欧美日韩高清一区二区| 亚洲欧美久久234| 亚洲欧洲国产视频| 亚洲福利一区二区三区| 国产激情久久久| 免费精品国产自产拍观看| 精品在线一区二区三区| 91久久精品国产91久久| 日韩中文字幕精品视频| 国产黄色片大全| 91蜜桃婷婷狠狠久久综合9色| 久久99精品国产| 亚洲免费婷婷| 91精品国产自产在线丝袜啪| 国产不卡的av| 国产蜜臀在线| 一区二区视频免费看| 日韩欧美一卡二卡| 在线视频国内一区二区| 日韩一级免费视频| 91精品在线视频观看| 亚洲黄色一区二区| 欧美熟妇乱码在线一区| 亚洲区中文字幕| 欧美午夜精品在线| 国产免费永久在线观看| 免费网站看黄yyy222| 国产香蕉免费精品视频| 久久久99久久精品欧美| 欧美亚洲天堂网| 亚洲欧洲综合另类| 日韩专区视频网站| 亚洲综合在线小说| 日本一欧美一欧美一亚洲视频| 亚洲一区精品在线| 日韩精品视频在线免费观看| 欧美日韩国产中字| 在线中文字幕视频观看| 搞黄在线观看| 国产v日产∨综合v精品视频| 一区二区中文视频| 欧美在线日韩精品| 国产性一级片| 99精品视频国产| 日韩精品―中文字幕| 日韩高清在线不卡| 精品视频www| 日韩精品手机在线| 最近中文字幕在线中文高清版| 中文字幕国产亚洲| 欧美日韩在线看| 欧美日韩夫妻久久| 日韩av综合在线观看| 国产黄在线看| 国产wwww| 99综合精品久久| 日韩在线视频在线观看| 国产欧美日韩在线看| 日韩av一区二区在线观看| 日韩欧美一二三四区| 一区二区精品区| 亚洲免费播放| 欧美一级在线免费| 久久精品在线免费观看| av免费不卡国产观看| 91久久精品国产91性色69| www日韩在线观看| 国产一区不卡精品| 国产网站欧美日韩免费精品在线观看| 欧美不卡视频一区发布| 国产在线高潮| 91 中文字幕| 日韩黄色在线播放| 在线视频色在线| 久草亚洲一区| 在线手机中文字幕| 欧美日韩精品国产| 国产不卡在线| 精品一区二区三区中文字幕| 久久久精品欧美| 久久久久久久久综合| 黄色精品在线观看| 在线视频不卡国产V| 精品视频在线视频| 久久夜色精品国产欧美乱极品| 欧美人妻一区二区三区| 日韩免费电影网站| 色欧美日韩亚洲| av高清一区| 欧美日韩在线视频免费观看 | 欧美国产一区视频在线观看| 欧美日韩亚洲视频| 国产绿帽一区二区三区| 中文字幕 日韩 欧美| 日韩精品在线观看网站| wwwwww国产| 欧美日韩成人一区| 精品视频国产| a在线观看免费视频| 日韩精品福利一区二区三区| 久久久精品免费免费| 国产福利不卡| 精品一二三区视频| 欧美日韩视频免费| 久久久久久自在自线| 日韩中文字幕| 一本大道一区二区三区| 91精品久久久久| 一区二区三区免费看视频| 欧美人妻一区二区三区| 中文字幕在线观看视频www| 国产在线一区二区视频| 欧美日韩国产中文| 国产在线观看色| 日韩视频在线观看一区| 欧美中文字幕视频在线观看|