2009-04-13 6 views
1

동적으로로드 된 메뉴 항목을위한 무비 클립이있는 메뉴 시스템을 만드는 Flash 프로젝트를 만듭니다.플래시 - 동적으로로드 된 무비 클립이있는 영역 스크롤

메뉴 영역보다 큰 항목이 메뉴에 있으면 표시 줄을 표시하고 싶습니다.

메뉴 영역 위에 마스크를 놓고 마스크 내에서로드 된 부분을 위아래로 스크롤 할 수 있지만 무비 클립은 동적으로로드 된 무비 클립이 보이지 않는 것으로 생각했습니다. 마스크.

인터넷을 통해 검색 한 적이 있지만 동적으로로드 된 무비 클립이있는 영역이 아닌 텍스트 영역을 처리 할 수있는 모든 스크롤 막대 자습서가 있습니다.

누구나이 좋은 튜토리얼을 알고 있습니까, 아니면 이것을하기위한 우아한 방법에 대한 제안이 있습니까? 그렇기 때문에 수학 해킹을 할 필요가 없습니다.

고마워요.

답변

1

정확히 무엇인지 궁금합니다.

방금 ​​플래시 CS3/AS3으로 빠른 테스트를 수행하고로드 된 항목이 마스크 (스크롤 상자의 기초) 내부를 돌아 다니며 이동했습니다.

먼저 마스크 레이어를 만든 다음 마스크의 하위 레이어로 새 레이어를 만들었습니다. 마스크 레이어 하위에 새로운 빈 MovieClip을 추가했습니다. 이 MovieClip의 이름을 'mcItems'로 지정했습니다.

다음 프레임 스크립트 (물론 Class를 사용하는 것이 좋음)를 첨부했습니다.

for (var i:Number=0; i < 3; ++i) 
    { 
     var loader:Loader = new Loader(); 
     loader.load(new URLRequest('Content.swf')); 
     mcItems.addChild(loader); 
     loader.x = i * 120; 
    }; 
    function update (event:Event) 
    { 
     mcItems.x = 120*Math.sin(getTimer()/500) - 60; 
    }; 
    addEventListener(Event.ENTER_FRAME, update); 

이제 Content.swf는 120x120 픽셀의 회색 상자에 불과합니다. 내 마스크는 240x120입니다. 실행시 3 Content.swf 상자가로드되고 예상대로 마스크 영역 내부를 슬라이드합니다.

스크롤바 코드의 경우 '수학 해킹'이 무슨 뜻인지 잘 모르겠지만 기본 원칙은 단위 집합에서 다른 단위 집합으로 변환한다는 것입니다. "마스크 너비/단위로로드 된 총 아이템"단위를 "스크롤 핸들 너비/스크롤 막대 너비"단위로 변환합니다.

위의 코드를 명확히하기 위해 해당 매뉴얼 페이지를 검토하는 것이 좋습니다.

감사합니다. Jotham.

+0

내 텍스트 상자가 동적 인 것으로 밝혀졌으며 글리프를 포함하지 않으면 마스크 아래에 표시되지 않습니다. 감사. –

+0

꽤 일반적인 플래시 동작입니다. – Jotham

관련 문제