代码改变世界

遮罩与动态文本框

  Windie Chai  阅读(1363)  评论(0编辑  收藏  举报
今天在写一个Flash相册时遇到一个奇怪的问题,MovieClip中的动态文本框无论如何都不显示。通过trace语句可以确定该文本框是有值的,也就是说,这个动态文本框存在并且有值。
既然如此,为什么不显示呢?原来罪魁祸首就是:遮罩。
为了实现一些效果,这个相册中使用了遮罩,而包含动态文本框的MovieClip所在的层也正好受遮罩所影响。虽然动态文本框所在的区域也处于遮罩的覆盖范围,但不知道是Flash的bug还是什么原因,在设计时被遮罩直接或者间接覆盖的动态文本框最终就变成了不可见状态。想要让其显示出来,就不能在设计时设计遮罩,而是在运行动态生成遮罩。
下面是Flash相册中设计时添加遮罩的图层情况:

现在需要将其变成下面的状态,也就是取消原来遮罩层的“遮罩”状态:

然后在帧动作中添加下面的方法为Album(MovieClip)动态添加遮罩:
this.Album.setMask(this.Masker);
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示