플래시 AS3 드롭 그림자는 높이와 너비를 변경할 때 나타나지 않습니다.

StackOverflow https://stackoverflow.com/questions/1104983

문제

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);
도움이 되었습니까?

해결책

필터는 "특정 값"보다 클립이 더 큰 클립으로 작동하지 않으며 주석을 살펴보십시오. 이 스레드...

다른 팁

나는 당신의 코드를 복사하고 붙여 넣었고 그것은 작동하는 것 같습니다. 물론, 나는 당신의 라이브러리 기호가 어떻게 생겼는지 모르겠습니다 (방금 회색 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);

따라서 필터를 서명하는 대신 filters 속성, 실제로 그 필터를 기존 필터에 추가하고 있습니다. 그것이 효과가 있는지 궁금합니다.

나는 어떤 문제도 구문면에서 보지 못한다.

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

그것은 꽤 사라졌습니다. 알파를 1 또는 2로 변경하고 볼 수 있는지 확인하십시오. 또한 색상을 설정하지 않는 것 같습니다. 기본값이 검은 색이라고 생각합니다. 당신이 객체가 어두운 것을 넘어서지 않도록하고 당신은 그것을 놓치고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top