AS3制作旋转文字效果
2013-08-14 20:07
190 查看
1.建一个falsh文档,命名为:动态文本旋转
2.把Rotator.as ,第三方类文件放到与“动态文本旋转.fla”同一个文件夹中
2.在动态文本旋转.fla的动作面板中写代码
2.把Rotator.as ,第三方类文件放到与“动态文本旋转.fla”同一个文件夹中
2.在动态文本旋转.fla的动作面板中写代码
//导入必要的类Rotator import Rotator; //___________________________________设定必要的变量 //变更words用于存储显示的文字 var words:String = "\n各位亲爱的读者:\n"+ " 您们好!\n 很高兴与您分享经验。\n 磨砺青春之剑需要心静。只有当你真正的静下心来,你才能始终想着自己的目标,你才能最大化的集中精力。经验告诉我们,高度集中的精力带来的周密思考和大脑的高速运转,能让你策马扬鞭,战无不胜!心静也是摒弃各种干扰因素的良药,耐得住喧嚣,耐得住寂寞,高三的路上,我们还怕什么呢!"; //声明一个布尔值,标识当前文本是否正在旋转 var isRolling:Boolean = true; //声明一个整型变量,用于计数显示的文字数 var counter:int = 0; //____________________________________声明新文本 //新建显示文本tf var tf:TextField = new TextField(); //设置文本自动换行; tf.wordWrap = true; //设置文本宽和高为400像素 tf.width = 400; tf.height = 400; tf.textColor = 0xFFFFFF; //显示默认的文本边框(黑色) tf.border = true; //____________________________________设置格式 //声明一个TextFormat实例,用于设置文本的格式 var textFormat:TextFormat = new TextFormat(); //左右留白20像素 textFormat.leftMargin = 20; textFormat.rightMargin = 20; //自动两端对齐 textFormat.align = "justify"; //字号14 textFormat.size = 14; //行间距12像素 textFormat.leading = 12; //字间距5像素 textFormat.letterSpacing = 5; //设置为默认格式 tf.defaultTextFormat = textFormat; //______________________________________设置用于绘制文本的位图 //声明一个位图信息对象bmd,其宽和高各+1是为了显示出文本右侧和下侧的外边框 var bmd:BitmapData = new BitmapData(tf.width+1,tf.height+1,true,0x00FFFFFF); //使用draw方法绘制当前的文本(当前无文本内容) bmd.draw(tf); //声明位图类bm,引用bmd的信息 var bm:Bitmap = new Bitmap(bmd); //平滑显示位图内容 bm.smoothing = true; //位图位置置于舞台中央 bm.x = (stage.stageWidth - bm.width) /2; bm.y = (stage.stageHeight - bm.height) /2; //声明一个Rotator实例,定位bm的注册点为正中心 var rotator:Rotator = new Rotator(bm,new Point(stage.stageWidth/2,stage.stageHeight/2)); //添加bm到显示列表 addChild(bm); //_______________________________________设置自定义右键菜单项 //声明一个自定义菜单实例menu var menu:ContextMenu = new ContextMenu(); //声明一个自定义菜单项menu_item1,其显示文字为"重新显示文字动画" var menu_item1:ContextMenuItem = new ContextMenuItem("重新显示文字动画"); //将新菜单项添加到menu中 menu.customItems = [menu_item1]; //设置menu为主时间线的菜单 this.contextMenu = menu; //_______________________________________添加必要的侦听器 //侦听播放头事件,用于旋转图像 stage.addEventListener(Event.ENTER_FRAME,rotateTF); //侦听鼠标左键点击事件,用于切换图像是否旋转的状态 stage.addEventListener(MouseEvent.CLICK,toggleRotate); //侦听自定义菜单项事件,当选择自定义菜单项时,执行侦听器函数restart menu_item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,restart); //_______________________________________定义各侦听器函数 //定义toggleRotate侦听器,当点击鼠标左键时切换布尔值isRolling function toggleRotate(e:MouseEvent):void { isRolling = !isRolling; } //定义rotateTF侦听器 function rotateTF(e:Event):void { //当words内的字符没有显示完全时 if (counter < words.length) { //每次提取words中的一个新字符 var insertWord:String =words.substr(counter,1); //提取后计数器增加 counter++; //在tf中显示新增加的字符 tf.appendText(insertWord); //调用reDraw函数 reDraw(); } //当isRolling为true时,每次旋转bm1度 if (isRolling) { //注意rotateBy方法是自定义Rotator类定义的方法 rotator.rotateBy(1); } } //定义restart侦听器,当选择自定义菜单命令时执行 function restart(e:ContextMenuEvent):void { //初始化,重新执行 tf.text = ""; bmd.fillRect(bmd.rect,0x00FFFFFF); bmd.draw(tf); counter = 0; } //定义reDraw方法 function reDraw():void { //设定一个矩形区域,这个区域是新添加到文本区内字符的区域 var rec:Rectangle = tf.getCharBoundaries(tf.length -1); //在bmd中更新新添加的字符矩形区域内的位图信息 bmd.draw(tf,null,null,null,rec); try { //为新字符添加随机彩色发光滤镜 bmd.applyFilter(bmd,rec,rec.topLeft,new GlowFilter(0xFFFFFF*Math.random(),1,2,2,10)); //为新字符添加阴影滤镜 bmd.applyFilter(bmd,rec,rec.topLeft,new DropShadowFilter(1,1)); } catch (e) { } }
相关文章推荐
- PS制作光束散射的旋转文字效果
- Js制作点击输入框时默认文字消失的效果
- 转一个超炫效果,as3制作的。
- HTML5 - 用CSS3动画制作场景切换效果(移动,旋转,淡入淡出等)
- [苹果风格]内嵌文字效果制作
- JS+ajax制作新浪微博文字效果
- CSS3制作文字半透明倒影效果
- 制作霜冻冰雪文字效果
- 一款旋转的文字显示效果
- javascript文字旋转效果
- Vegas文字投影的模糊效果怎么制作?
- ppt文字磨砂玻璃效果制作教程
- 基于jquery插件制作左右按钮与标题文字图片切换效果
- CSS伪类before,after制作左右横线中间文字效果
- AXURE 学习笔记 制作“鼠标点击时,输入框内文字消失”效果
- 文字扭曲效果(制作绣在丝绸上的文字图案效果)
- 从AS3制作图片聚焦效果,小议alpha属性
- jQuery制作图片旋转效果
- 如何通过PS制作图片文字效果
- Photoshop 意境文字效果图片制作