[AS3]as3中字幕滚动类源代码
[AS3]as3中字幕滚动类源代码
[AS3]as3中字幕滚动类源代码
- package {
- import flash.display.DisplayObjectContainer;
- import flash.display.Shape;
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.events.TimerEvent;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFormat;
- import flash.utils.Timer;
- /****
- * @by zou
- * 2008-12-23
- * ******/
- public class TestProject extends Sprite
- {
- //滚动的文本
- private var _textField : TextField = new TextField();
- //文本格式的控制
- private var _textFormat : TextFormat = new TextFormat();
- //定时器初始化
- private var _timer : Timer;
- //储存文本的容器
- private var _sprite : Sprite = new Sprite();
- //遮罩
- private var _shape :Shape = new Shape();
- public function TestProject(time : uint=40)
- {
- // var rollText : RollText = new RollText();
- // addChild(rollText);
- var _sprite1 : Sprite = new Sprite();
- init(time);
- mangerListener();
- displayText(_sprite1,100,100,"梦境世界欢迎您的到来","H",100,100);
- addChild(_sprite1);
- }
- //代码集中控制
- private function init(time : uint) : void{
- _timer = new Timer(time);
- _textField.mask=_shape ;
- }
- //监听集中管理
- private function mangerListener():void
- {
- _textField.addEventListener(MouseEvent.MOUSE_OVER,_textField_OVER);
- _textField.addEventListener(MouseEvent.MOUSE_OUT,_textField_OUT);
- }
- //鼠标滚动事件
- private function _textField_OVER(event : MouseEvent) : void{
- _timer.stop();
- }
- //鼠标滚过事件
- private function _textField_OUT(event : MouseEvent) : void{
- _timer.start();
- }
- //父类容器,滚动类型
- public function displayText(container : DisplayObjectContainer,
- width :uint,height : uint,text : String,type : String="H",
- x:Number=0,y:Number=0) : void{
- //文本的格式控制
- _textField.defaultTextFormat=_textFormat;
- //将_sprite添加到父容器中
- container.addChild(_sprite);
- _sprite.x=x;
- _sprite.y=y;
- _sprite.addChild(_textField);
- _sprite.addChild(_shape);
- _shape.graphics.beginFill(0xFFCC00);
- _shape.graphics.drawRect(0,0,width,height);
- _shape.graphics.endFill();
- _textField.text=text;
- if(type=="V"){
- VRoll();
- } else {
- HRoll();
- }
- }
- //横向滚动
- private function HRoll() : void{
- _textField.x=_shape.width;
- _textField.autoSize=TextFieldAutoSize.LEFT;
- _textField.y=0;
- _textField.multiline = false;
- _textField.wordWrap = false;
- _timer.addEventListener(TimerEvent.TIMER,Htimer_TIMER);
- _timer.start();
- }
- private function Htimer_TIMER(event :TimerEvent) : void{
- _textField.x-=1 ;
- if(_textField.x<=-_textField.width) {
- _textField.x=_shape.width;
- }
- }
- //cuplayer.com提示垂直滚动
- private function VRoll() : void {
- _textField.x=0;
- _textField.y=_shape.height;
- _textField.multiline = true;
- _textField.wordWrap = true;
- _textField.width=_sprite.width;
- _timer.addEventListener(TimerEvent.TIMER,Vtimer_TIMER);
- _timer.start();
- }
- private function Vtimer_TIMER(event : TimerEvent) : void{
- _textField.y-=1;
- if(_textField.y<-_textField.height){
- _textField.y=_shape.height;
- }
- }
- //cuplayer.com提示文本控制,可选
- public function setTextFormat(color : uint=0x000000,bold : Boolean = false,size : uint=12,
- font : String="Times New Roman") : void{
- _textFormat.color=color;
- _textFormat.bold=bold;
- _textFormat.size=size;
- _textFormat.font=font;
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...