标签:

flash

动态文本

遮罩

it

flash中动态文本在遮罩层下的显示问题

 

描述:想做一个从右向左移动的滚动文本,底图如上,想实现文字从文件中读取,这样使用中可以根据需要实时改变文本内容,所以必须使用动态文本;为了显示效果更好,想实现文本只有滚动到底图范围内的部分被显示(底图左边不规则,想实现文本滚动到左边时沿底图的锯齿状消失)。

 

方案:开始想在文本上方再做一个图层,放一个能与底图左方吻合的图形(类似拼图),但是由于这个模块下方还有背景图,所以这个拼图也会将最下面的背景图挡住一块,遂舍弃该方案。后来想到了可以使用遮罩层,把底图复制一份作为滚动文本的遮罩。

 

问题:很简单的一个问题,本想很容易就这么解决了,但是生成后的文件让我很失望,只有一个底图,文字没有显示。在仔细检查了代码、文本格式、变量后继续生成,然后继续失望。再反复的测试后,发现去掉遮罩或者改成静态文本倒是可以了,很无语,实在想不明白是哪儿的问题。

 

解决:正在迷茫之际,福尔摩斯的一句话提醒了我:当排出了所有其它的可能性,还剩一个时,不管它是多么的不可能,那都是真相。难道动态文本和遮罩层不可以一起用?最终的百度,google验证了这个猜想,遇到这个问题的人还不少。网上给出的解决方法有两个:一是将所有的字体嵌入到flash中,生成的文件会比较大;二是开始不设置遮罩层,使用setMask函数动态的设置遮罩层。这两种方法都试过后依然失望,不知道是不是我的flash版本有问题……

 

所以只能继续搜,最终还是发现了高手,在文本的mc上使用滤镜,随便什么滤镜都行,如果不想显示滤镜效果可以直接将滤镜的参数设为0.

posted on 2010-06-10 15:36  liuyueguang  阅读(2810)  评论(1编辑  收藏  举报