实现文本字段透明效果的几种方法

透明

  Flash Player 6就开始支持文本字段(TextField)透明度属性(alpha),但是TextField._alpha只支持使用嵌入字体轮廓呈现的文本字段(TextField.embedFonts = true),对默认的设备字体呈现的文本字段无效。

  下面先介绍TextField._alpha的实现方式,以下代码设置my_txt文本的透明度为20%。点击库->新建字体(New Font)选项,创建一字体元件(font symbol),然后设置该字体元件链接标识符为“ my font”。

var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "my font";//'my font'为库中字体元件的链接标识符
this.createTextField("my_txt",this.getNextHighestDepth(), 10, 10, 100, 22);
my_txt.border = true;
my_txt.embedFonts = true;//使用嵌入字体轮廓呈现文本字段
my_txt.text = "Hello World";
my_txt.setTextFormat(my_fmt);
my_txt._alpha = 20;

  以上方法用到了字体元件,使用起来不是很方便,而且由于发布时打包了字体导致swf文件相对比较大。想更多了解字体元件,参看这里Flash TechNotes: Using font symbolsCreating font symbols

  以下两种方法抛弃TextField._alpha,模拟实现文本字段的透明效果。

  一、通过设置颜色模拟

function setAlpha(obj, alpha) {
  var rgb = "0x"+(255*(100-alpha)/100).toString(16);
  rgb = rgb << 16 | rgb << 8 | rgb;
  obj.backgroundColor |= rgb;
  obj.borderColor |= rgb;
  obj.textColor |= rgb;
}

  二、通过创建一影片剪辑作文本的蒙层

function setAlpha(obj, alpha) {
  var tmp_mc_name:String = obj._name+"_alphamask_mc";
  var tmp_mc:MovieClip = eval(tmp_mc_name);
  if (!tmp_mc) {
     tmp_mc = this.createEmptyMovieClip(tmp_mc_name,this.getNextHighestDepth());
     tmp_mc.beginFill(0xFFFFFF);
     tmp_mc.moveTo(0, 0);
     tmp_mc.lineTo(20, 0);
     tmp_mc.lineTo(20, 10);
     tmp_mc.lineTo(0, 10);
     tmp_mc.lineTo(0, 0);
     tmp_mc.endFill();
  }
  tmp_mc._x = obj._x;
  tmp_mc._y = obj._y;
  tmp_mc._width = (obj.border) ? obj._width+1 : obj._width;
  tmp_mc._height = (obj.border) ? obj._height+1 : obj._height;
  tmp_mc._alpha = 100-alpha;
}

  使用方法:

this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 100, 22);
my_txt.text = "Hello World";
setAlpha(my_txt,50);//设置my_txt文本透明度为50%

时间: 2024-12-23 14:44:43

实现文本字段透明效果的几种方法的相关文章

实现动画SWF文件全屏效果的四种方法

如何让SWF文件全屏的效果? 第一种方法:不显示浏览器菜单栏.工具栏的全屏.这种全屏稍稍复杂,也与FLASH的设置无关,但要借 助JavaScript来完成.方法是:在HTML文件中<head></head>间加入以下代码: <script language="JavaScript">  <!--  window.open("nfd.swf","","fullscreen=1,menubar=n

实现Flash动画文件全屏效果的三种方法

flash动画 实现Flash动画文件全屏效果的三种方法 第一种方法: 不显示浏览器菜单栏.工具栏的全屏.这种全屏稍稍复杂,也与FLASH的设置无关,但要借助JavaScript来完成.方法是:在HTML文件中<head></head>间加入以下代码: <script language="JavaScript"> <!-- window.open("nfd.swf","","fullscreen

actionbar-实现像沉浸式状态栏这样的效果有几种方法

问题描述 实现像沉浸式状态栏这样的效果有几种方法 实现像沉浸式状态栏这样的效果有几种方法?只支持4.4以上版本吗? 解决方案 不止的,我给你个网址你看一下,里面是对沉浸式的实现方法,很详细http://www.jianshu.com/p/0acc12c29c1b 解决方案二: 沉浸式状态栏的实现沉浸式状态栏实现-SystemBarTint沉浸式状态栏的实现 解决方案三: http://blog.csdn.net/baiyuliang2013/article/details/46674735

Android 实现图片模糊、高斯模糊、毛玻璃效果的三种方法_Android

在前几天写过一个使用glide-transformations的方法实现高斯模糊的方法,今天偶然间有发现一个大神写的另一个方法,感觉挺不错的,分享一下: 效果图: 原文链接:点击访问 这使用也很简单,导入依赖,使用模糊方法就行,就这两步搞定 依赖: compile 'net.qiujuer.genius:blur:2.0.0-beta4' 实现方法有三种,第一个是Java实现的,第二个和第三个是调用C语言实现的 ,具体的区别也就是代码执行的耗时操作时间,从图片中可以看出Java使用时间远大于c运

Android实现图片轮播效果的两种方法_Android

大家在使用APP的过程中,经常会看到上部banner图片轮播的效果,那么今天我们就一起来学习一下,android中图片轮询的几种实现方法: 第一种:使用动画的方法实现:(代码繁琐) 这种发放需要:两个动画效果,一个布局,一个主类来实现,不多说了,来看代码吧: public class IamgeTrActivity extends Activity { /** Called when the activity is first created. */ public ImageView image

Android实现轮播效果的两种方法

实现轮播效果有2种方法: (1)使用ViewPager+ImageView,通过Handler进行间隔发送消息,实现自动轮播效果 xml代码: <android.support.v4.view.ViewPager android:id="@+id/fragment_viewPager" android:layout_width="match_parent" android:layout_height="200dp" /> privat

衡量网络营销效果的三种方法 探讨Engagement的适用性问题

中介交易 SEO诊断 淘宝客 云主机 技术大厅 在之前的<网络营销效果衡量的核心指标>连载中,介绍了什么是Engagement,Engagement包含哪些指标,如何定义这些指标,以及如何通过技术方式监测到这些指标.这期将问题更深入,探讨Engagement的适用性问题. 由于Engagement的灵活性,它至少在三个领域具有极高的研究价值.其一,它对于衡量总体(宏观)效果的达成有帮助;其二,在确知流量质量的情况下,它能衡量网站对用户的影响程度(即一般我们所称的网站的质量);其三,在确知网站质

CSS渐变文本效果的两种方法比较_经验交流

是否想不用photoshop来创建一个带渐变的标题文字吗? 这里用一个简单的css技巧来向你展示如何仅仅使用css和png图片来制造这种效果. 经测试这种方法适合大多数主流浏览器.当然, IE6需要一个支持透明PNG的Hack(值得庆幸的是微软正在极力的将用户的IE6自动升级到IE7^.^, 延伸阅读:Warning: An IE7 Auto-Update Is Coming Soon) 优势 这是纯粹的css技巧,没有使用任何ja脚本或者flash, 并且它可以在大多数浏览器上正常工作(IE6

Fireworks制作渐隐线效果的2种方法

好多人问关于渐隐线的制作方法,其实渐隐线的做法非常简单,一般来说有两种方法: 一.矩形的填充... 矩形做法一,适合大部分的情况: 1.用矩形工具画出一个像素高的矩形. 图1 2.在面板处选择线性填充,具体的调节如下: 图2 面板讲解:大家可以看到最上面有两排箭头.其中 这个标志的一排是透明度 这个标志的一排是颜色. 通过在上下点击面板添加新箭头.... 通过这样的渐变可以得到如下的效果: 图3 矩形做法二: 如果是单色背景,可以考虑直接选择颜色箭头中的两端为背景色,中间为你需要的线条颜色,模拟