2013-10-28 6 views
0

번으로 저장하면 실제로 문제는 없지만 동영상 클립의 특정 상태를 저장하는 방법이 있습니까? 예를 들어 big_mc라는 동영상 클립을 동적으로 추가 한 다음 big_mc 안에 3 개 (3) child_mc1 및 child_mc2라는 작은 동영상과 big_mc를 스테이지에서 제거하는 close_big를 클릭하면 child_mc1 및 child_mc2 중 하나를 클릭하면 child_mc가 클릭되기 전에 child_mc가 사라집니다.여러 동영상 클립이 포함 된 동영상 클립의 상태를

시나리오에서 scene에서 자신을 제거하는 child_mc1을 클릭하면 다음 단계에서 close_big 무비 클립을 클릭하여 스테이지에서 big_mc를 제거하고 자신의 상태를 저장하므로 다음에 SWF를 실행할 때 파일을 만들고 동적으로 big_mc를 스테이지에 추가하면 child_mc1이 여전히 누락되어 child_mc2가 여전히 표시됩니다 (SWF 파일을 닫은 상태에서도 상태를 저장해야 함). 도와주세요 .. 많이 감사합니다. 메인 타임 라인에

코드 : big_mc 내부

var big_mc:mother_mc = new mother_mc; 

    add_big_btn.addEventListener(MouseEvent.CLICK, call_big); 

    function call_big(e:MouseEvent):void 
    { 
      addChild(big_mc); 
    } 

코드 :

당신은 어도비가 말하듯 SharedObject로 시작하려는
child_mc1.addEventListener(MouseEvent.CLICK, remove_child1); 
    child_mc2.addEventListener(MouseEvent.CLICK, remove_child2); 
    close_big.addEventListener(MouseEvent.CLICK, bye); 


    function remove_child1(e:MouseEvent):void 
    { 
      removeChild(child_mc1); 
    } 

    function remove_child2(e:MouseEvent):void 
    { 
      removeChild(child_mc2); 
    } 

    function bye(e:MouseEvent):void 
    { 
      this.parent.removeChild(this); 
    } 
+0

swf의 상태를 저장하는 것은 상당히 많은 작업입니다. 해당 주제에 관한 특정 자습서 나 기사를 찾는 것이 가장 좋습니다. – Glitcher

답변

0

, "읽기 및 제한된 저장하는 데 사용됩니다 사용자의 컴퓨터 또는 서버에있는 데이터의 양 ". MovieClip의 "상태"를 저장하는 것은 더 복잡합니다.

저장 하시겠습니까? x 속성? 아마 알파? 모두? 각 객체는 swf의 기본 상태로 저장됩니다. Flash IDE의 라이브러리 항목은 우리가 인스턴스화하는 방식에 의해 입증 된 것처럼 기술적으로 축소 된 클래스입니다. 의 customButton의 사본이 당신이 그것을에 정의 된 모든 속성으로 생성 된 손으로 쓴 클래스처럼

var foo:customButton = new customButton(); 

: 당신이 화면 (또는)이처럼 수천를 생성 할 수, 당신은 customButton라는 뭔가를 만들어 가정 당신이 그것을 컴파일하기 전에. 이러한 속성을 변경하려면 각기 다른 주소를 지정해야합니다.

크게 보면, swf를로드 할 때마다 버튼의 위치를 ​​저장한다고 가정 해 봅시다. getLocal()을로드하고 flush()으로 저장하십시오.

var settings:Object = SharedObject.getLocal("foo"); 

function updateState(e:Event):void { 
    myButton.x = settings.x; 
    myButton.y = settings.y; 
} 

function saveState():void { 
    settings.x = myButton.x; 
    settings.y = myButton.y; 
    settings.flush(); 
} 

불가능하지 않습니다. 단순히 푸시 버튼 솔루션이 없습니다. 원하는 경우 모든 DisplayObject에 대해 반복 실행하고 SharedObject에서 /로 각 relavent 속성을로드/저장하는 함수를 작성할 수 있습니다. 그래도 과잉일지도 몰라.

+0

"sharedObjects"에 대한 약간의 연구를하러갔습니다. 고마워요.하지만 big_mc의 상태를 저장하는 방법에 대한 아이디어가 없습니다. big_mc의 속성이 sharedobject 내부에 저장하는 데 다소 혼란 스럽습니다. .. –

+0

상태 저장이 없습니다. 수동으로 직접해야합니다. MovieClip의 가시 상태를 저장하려면'SharedObject'에'mc1 : Boolean = false;와 같은 일종의 식별자를 저장하십시오. mc2 : Boolean = true'이고,'SharedObject'를 메모리로 읽어 들여 그 값을 볼 때, 당신은 평소처럼 MovieClips를 만드는 것 이외에 각각을 적절히 숨기거나 보여줄 필요가 있다는 것을 알 것입니다. – Atriace

관련 문제