Flex 사용자 정의 구성 요소에 효과를 추가합니다
-
11-09-2019 - |
문제
Flex 응용 프로그램이 있으며 런타임에 액션 스크립트와 함께 새로운 사용자 정의 구성 요소를 추가하고 싶습니다. 이것은 잘 작동합니다. 사용자 정의 구성 요소를 만들고 다음 코드를 추가했습니다.
var freeView:FreeView=new FreeView();
freeView.setStyle("showEffect",this.fadeIn);
freeView.setStyle("hideEffect",this.fadeOut);
freeView.visible=false;
this.addChild(freeView);
freeView.visible=true;
그러나 내 문제는 효과의 페이드가 작동하지 않는다는 것입니다. 다른 구성 요소 (패널과 같은)에서 사용하면 효과가 올바르게 선언된다는 것을 알고 있습니다. 아무도이 문제를 도와 줄 수 있습니까? 친애하는!
해결책 2
마지막으로 문제를 다른 방식으로 해결합니다. 대신 실행 시간에 구성 요소를 추가하면 가시 속성을 False로 설정 한 상태에서 구성 요소를 응용 프로그램에 추가하고 필요할 때 TRUE로 변경했습니다.
다른 팁
Freeview 서브 클래스에서 재정의 Flex 슈퍼 기능을 호출해야합니다.
특히 업데이트 된시기리스트 및 CommitProperties :
override protected function updateDisplayList(w:Number, h:Number)
{
super.updateDisplayList(w, h);
// Your code here.
}
override protected function commitProperties()
{
super.commitProperties();
// Your code here.
}
높은 수준의 컨테이너 클래스 (예 : 캔버스 또는 Hbox) 또는 UIComponent 중 하나를 우선하고 있습니까?
새로운 요소에 효과 대상을 설정하여 다른 방법으로 할 수 있습니다.
<mx:Fade id="showFlag" alphaFrom="0" alphaTo="1" duration="5000"/>
var flag:Image = new Image;
flag.source = flagSource;
something.addElement(flag);
showFlag.target = flag;
showFlag.play();
제휴하지 않습니다 StackOverflow