AS3实现动态文本滚动条
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
学AS3几个星期了,发一个我的小练习:动态文本滚动条 功能说明: 本版滚动条除了继续保持体积小(小于2K),界面容易修改,资源占用率小的优势外,主要有以下几点改进:
源文件下载 使用方法见源文件 为了方便懒人,直接帖一下代码: 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); //下滚动 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于AS3实现动态文本滚动条的所有评论