개발자는 위젯의 가시성을 정의하여 위젯의 특정 부분을 사용자가 미리 보거나 사용자 정의하도록 허용할 수 있습니다.

위젯의 가시성 상태는 다음 보기에 대해 설정할 수 있습니다.

  • [속성] 패널(스테이지 상태)의 [위젯] 탭: 개발자들은 이 탭에서 위젯의 스냅샷을 표시할 수 있습니다.

  • [속성] 패널(편집 상태)의 위젯 매개 변수: 일반적으로 이 모드에서는 개체의 스냅샷이 숨겨져 있으며 사용자 정의 가능한 매개 변수만 표시됩니다.

  • 런타임 중: 개발자들은 특정 매개 변수에 따라 개체의 가시성을 정의할 수 있습니다.

  • [위젯] 패널: 미리 보기 모드에서 SWF 파일을 표시하려면 코드에서 wm==preview로 설정합니다.

위젯의 가시성 상태는 정의되어 있지 않습니다. movieHandle.widgetParams 속성을 사용하여 가시성 상태를 설정합니다.

가시성을 결정할 때는 다음 팁을 참조하십시오.

  • 다음과 같은 경우에 위젯이 표시되는지 여부를 결정합니다.

    • 편집 영역

    • 속성 관리자

    • 런타임 중

  • 그리기용 코드를 최적화합니다. 이 코드를 과도하게 사용하면 플레이어의 속도가 느려질 수 있습니다. [확인] 단추를 클릭한 후에도 위젯 대화 상자가 사라지지 않을 수 있습니다.

    • CPU 사용을 최소로 유지하도록 위젯의 OnEnterFrame 기능 코드를 최적화합니다.

    • 그리기 코드는 CPU의 사용 범위를 넓힙니다. 상태를 변수 내부에 저장한 다음 필요한 경우에만 그리기에 사용합니다.

  • Flash 관련 문제를 테스트하려면 Captivate를 시작하지 않고 Flash 내의 스테이지에서 위젯이 표시되는 방식을 시뮬레이션할 수 있습니다. OnEnterFrame 함수에서 wm = 'Stage'wm = 'Edit'를 하드코드합니다. 이와 마찬가지로 Flash를 사용하여 런타임에서 위젯의 동작을 시뮬레이션하려면 widgetParam을 하드코드한 다음 테스트합니다.

  • trace 명령을 사용하여 SWF를 디버그합니다. 이 명령은 성능을 저하시키므로 마지막 테스트를 할 때 삭제해야 합니다.

  • 다음에 대해서만 게시합니다.

    • Flash 8 이상

    • ActionScript 3.0

미리 보기 동영상 정의

사용자가 [위젯] 패널에서 위젯을 선택할 때 미리 보기 영역에 나타날 모조 SWF 파일을 제공할 수 있습니다. 모조 SWF 파일은 사용자에게 위젯이 어떻게 작동하는지 알려 줍니다.

PieChart.fla를 살펴보면 미리 보기 동영상 정의 절차를 더 잘 이해할 수 있습니다.

  1. Flash에서 파이 차트의 PieChart FLA 파일을 엽니다. 이 파일은 컴퓨터의 \\Program files\Adobe\Adobe Captivate <버전 번호>\Gallery\Widgets 디렉토리에 있습니다.

  2. 속성 관리자에서 [스테이지] 밖의 동영상을 선택합니다. 동영상 PieChart_prvw의 이름이 [속성 관리자]에 표시됩니다.

  3. 동작이 포함된 프레임을 마우스 오른쪽 단추로 클릭하거나(Windows) Ctrl 키를 누른 채 클릭하고(Mac OS) [동작]을 선택합니다.

  4. 다음 코드 부분을 찾습니다. if (wm == 'Preview') { PieChart_prvw._visible = true; }

    이 코드는 동영상을 미리 보기 모드로 설정하고 사용자가 위젯을 선택할 때 미리 보기 영역에 동영상을 표시합니다. 가시성을 False로 설정할 경우 위젯은 미리 보기 영역에 표시되지 않습니다.

여러 모드에 대한 가시성을 정의하는 샘플 코드

function cpSetValue( variable:String , val ) 
{ 
    if(variable == 'movieHandle' ) { 
        movieHandle = val; 
        mainmov = movieHandle.getMovieProps().variablesHandle; 
        } 
     if (variable == 'widgetMode') 
      { 
          widgetMode = val; 
      } 
} 
this.onEnterFrame = function() 
{ 
var wm:String = widgetMode;//this variable will be provided by Captivate App or Captivate Movie 
    if(wm ==  undefined) 
    { 
        wm = widgetMode; 
    } 
    if(wm == undefined) 
        wm = 'Stage'; 
         
    if(wm == 'Edit')//Property inspection inside Captivate app 
    { 
        button1.visible=true; 
         
    } 
    else if (wm == 'Preview') 
    { 
     
        button1.visible=false; 
    } 
    else //this is the stage mode 
    { 
        button1.visible=true; 
    }     
}

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책