我将斜角滤镜应用于MovieClip。稍后在我的代码中,当我尝试更改过滤器属性时,它似乎无法正常工作。
这是我的代码:
for (var i: int = 0; i < myMovieClip.filters.length; i++) {
if (myMovieClip.filters[i] is BevelFilter) {
trace("done");
myMovieClip.filters[i].highlightColor = 0xFF0000;
myMovieClip.filters[i].shadowColor = 0x0000FF;
break;
}
}
答案 0 :(得分:0)
根据adobe的这份指南:Graphic Effects Learning Guide for Flash: Filters
每个过滤器都有一组独特的属性。过滤器可以是 尽管如此,访问和修改就像常规数组对象一样 使用filters属性获取和设置过滤器将返回a 复制过滤器对象而不是引用。
// This will not work my_mc.filters[0].blurX = 20;
因为前面的代码片段返回了filters数组的副本, 它修改了副本。为了修改blurX属性,你 需要使用以下ActionScript代码:
// This will work var filterList:Array = my_mc.filters; filterList[0].blurX = 20; my_mc.filters = filterList;
因此,您似乎需要将代码更改为以下内容:
var filtersList:Array = myMovieClip.filters;
for (var i: int = 0; i < filtersList.length; i++) {
if (filtersList[i] is BevelFilter) {
trace("done");
filtersList[i].highlightColor = 0xFF0000;
filtersList[i].shadowColor = 0x0000FF;
myMovieClip.filters = filtersList;
break;
}
}