`

[转] TextField中文字不随着TextField透明度的改变而改变解决方案

阅读更多
有时候我们想为TextField文本文字添加一些效果,比如让文字渐渐消失的效果,实现之的代码如下:
package
{
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.filters.BlurFilter;
        import flash.text.TextField;
        import flash.text.TextFormat;
        
        public class TestEffect extends Sprite
        {
                private var tf:TextField = new TextField();
                
                public function TestEffect()
                {
                        tf.defaultTextFormat = new TextFormat(null, 25);
                        tf.text = "dasjkdjklasjdasjdklasjkldasjkl";
                        tf.width = tf.textWidth + 5;
                        tf.selectable = false;
                        tf.mouseEnabled = false;
                        tf.x = tf.y = 100;
                        addChild( tf );
                        tf.addEventListener(Event.ENTER_FRAME, onEF);
                }
                
                private function onEF(e:Event):void
                {
                        if(tf.alpha > 0)
                        tf.alpha -= 0.02;
                }
        }
}


但是看不到文字渐渐消失的效果,为什么呢?寡人也不知道为什么,寡人只关心怎么去解决这个问题。

解决方案一:使用嵌入字体:
     使用嵌入字体是可以达到效果,但是对于我等天朝子民来说嵌入一个汉字字体将会大大加大Flash的体积,寡人可不愿意用这种方式。

解决方案二:设置BlendMode:
     这一招是官方讨论群的“隐竹”兄TELL ME的,以前我TMD还真不知道设置这玩意儿有用。由于其他BlendMode类型都会或多或少地改变我文本区域的颜色,所以推荐使用BlendMode.LAYER。

解决方案三:设置滤镜filters:
     为TextField设置一个滤镜filters可以解决问题,当然,你得把滤镜设置得不影响外观才行。

以上三种方案中的后两种原理是让Flash Player把TextField转换为位图来实现文字跟随外观一起播放效果的,那么就有人提出了一个想法说设置cacheAsBitmap为true行不行?我设置后发现不行,而且如果你设置了BlendMode后又设置了cacheAsBitmap为true就会让解决方案二失效。HOLY SHIT~!
分享到:
评论

相关推荐

    As3实现文字闪光效果

    这个效果通常是通过改变文本对象的颜色或者透明度来实现的,给人一种文字在闪烁的感觉。在AS3中,我们可以使用Timeline控制、Tween类或者自定义的动画循环来实现这样的效果。 首先,让我们了解如何用一句代码来实现...

    一年ios开发的工作总结笔记

    本文档汇总了一年内从事iOS开发所遇到的常见问题及其解决方案。通过对这些知识点的学习和实践,可以显著提高iOS应用程序的质量和性能。希望这些经验和技巧能帮助你在iOS开发道路上取得更好的成绩。

    css移动版兼容性问题记录

    ### CSS移动版兼容性问题详解与解决方案 #### 概述 随着移动互联网的快速发展,越来越多的用户通过手机和平板电脑访问网页。为了确保网站在不同设备上的良好展示,前端开发者必须考虑各种移动设备的特性及其浏览器...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这...

    ExtAspNet_v2.3.2_dll

    -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,Tab等)增加AJAX...

    struts2开发.包

    - 与开发团队紧密协作,确保需求清晰、进度可控,及时反馈问题和解决方案。 - 保持团队间的透明度,及时回复公司和客户的需求,展现专业性和重视程度。 在实际开发过程中,还需要不断学习新技术,了解其原理,...

    PHP-Ni GUI Class Lib-开源

    1. **社区支持**:开源意味着有一群热情的开发者和用户共同参与项目的改进和发展,可以及时获取到问题的解决方案和新的功能。 2. **自由使用**:不受商业限制,可以免费用于个人和商业项目,减少了开发成本。 3. *...

Global site tag (gtag.js) - Google Analytics