我複製並粘貼了你的代碼,它似乎工作。當然,我不知道你的圖書館符號是什麼樣的(我只是使用了一個灰色的sqare),我用靜態值替換了houseXML
變量。我已經試過代碼如下:
var mcWhiteBorder:whiteBorder = new whiteBorder();
var dropShadow:DropShadowFilter = new DropShadowFilter();
dropShadow.distance = 1;
dropShadow.alpha = .2;
dropShadow.blurX = 10;
dropShadow.blurY = 10;
mcWhiteBorder.height = 200;
mcWhiteBorder.width = 300;
mcWhiteBorder.x = 50;
mcWhiteBorder.y = 50;
mcWhiteBorder.filters = [dropShadow];
addChild(mcWhiteBorder);
這似乎只是正常工作。檢查你的houseXML
,看看您指定的值是有效的等等。
我在過去也遇到過一些問題。我得出的結論是,如果您將過濾器添加到現有的過濾器數組中,而不是創建新的過濾器,即使它是空的,它總能正常工作。我不確定爲什麼。您的代碼會是這樣的:
var mcWhiteBorder:whiteBorder = new whiteBorder();
var tmpFilters:Array = mcWhiteBorder.filters;
var dropShadow:DropShadowFilter = new DropShadowFilter();
dropShadow.distance = 1;
dropShadow.alpha = .2;
dropShadow.blurX = 10;
dropShadow.blurY = 10;
mcWhiteBorder.height = houseXML.height-40;
mcWhiteBorder.width = houseXML.width+5;
mcWhiteBorder.x = houseXML.photoX-10;
mcWhiteBorder.y = houseXML.photoY+20;
tmpFilters.push(dropShadow);
mcWhiteBorder.filters = tmpFilters;
addChild(mcWhiteBorder);
所以不是asigning過濾到filters
屬性,你實際上補充說,過濾器,以現有的。我很好奇,如果這有效。
請問上面的代碼工作,或你有註釋掉.height和.width語句?你已經在whiteBorder剪輯上有過濾器了,還是在裏面?你正在清理過濾器的任何地方,還是以任何形式循環或行動? – typeoneerror 2009-07-10 15:44:37