代码之家  ›  专栏  ›  技术社区  ›  Matt

更改高度和宽度时,Flash AS3阴影不会显示

  •  0
  • Matt  · 技术社区  · 16 年前

    在as3中,我正在创建一个阴影,效果很好。但是,当我更改对象的高度或宽度(mcWhiteBorder)时,阴影根本不会出现。有什么想法吗?

    var mcWhiteBorder:whiteBorder = new whiteBorder();
    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;
    mcWhiteBorder.filters = [dropShadow];
    
    addChild(mcWhiteBorder);
    
    3 回复  |  直到 12 年前
        1
  •  2
  •   evilpenguin    16 年前

    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);
    

    filters

        2
  •  1
  •   Community Mohan Dere    9 年前

    请注意,过滤器不适用于大于“特定值”的剪辑,请查看中的评论 this thread ...

        3
  •  0
  •   McAden    16 年前

    在语法方面,我没有看到任何问题。

    dropShadow.distance = 1;
    dropShadow.alpha = .2;
    dropShadow.blurX = 10;
    dropShadow.blurY = 10;
    

    那已经相当褪色了。将alpha更改为1或2,看看你是否能看到它。此外,你似乎没有设置颜色。我认为默认值是黑色的。确保你的目标不是在黑暗的东西上,你只是错过了它。