Flash AS3教程:动态文本滚动条

2019-10-08 20:44:59于丽
学AS3几个星期了,发一个我的小练习:动态文本滚动条
功能说明:
本版滚动条除了继续保持体积小(小于2K),界面容易修改,资源占用率小的优势外,主要有以下几点改进:
    使用AS3编写。 宽高动态指定。 增加滚动条背景点击事件。 消除了鼠标滚轮无法同时准确控制多个文本框的重大BUG。

源文件下载
使用方法见源文件
为了方便懒人,直接帖一下代码:
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;

//——————其他属性初始化