Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||자습서 플래시Flash 강좌,그래픽 효과 학습 설명서
INB 한국어 포럼
(산업 및 기본 과학자)에 오신 것을 환영합니다 여기에 산업 시대는 원시 생물 정신 과학자와이 네트워크 공간을 통해 당신과 내가 둘 다 미친 실험실에 온, 투지로 가득하다. 홈 INBforum.com, 영구 이름 :twtmo.forums2u.com
INB 한국어 포럼
(산업 및 기본 과학자)에 오신 것을 환영합니다 여기에 산업 시대는 원시 생물 정신 과학자와이 네트워크 공간을 통해 당신과 내가 둘 다 미친 실험실에 온, 투지로 가득하다. 홈 INBforum.com, 영구 이름 :twtmo.forums2u.com
INB 한국어 포럼

(산업 및 기본 과학자)에 오신 것을 환영합니다 여기에 산업 시대는 원시 생물 정신 과학자와이 네트워크 공간을 통해 당신과 내가 둘 다 미친 실험실에 온, 투지로 가득하다. 홈 INBforum.com, 영구 이름 :twtmo.forums2u.com


You are not connected. Please login or register

《《《《《《《上一页INBforum   Go down

上一页INBforum》》》》》》》이전 주제 보기 다음 주제 보기 Go down  메시지 [페이지 11]

1자습서 플래시Flash 강좌,그래픽 효과 학습 설명서 Empty 자습서 플래시Flash 강좌,그래픽 효과 학습 설명서 Wed May 04, 2011 11:00 am

Admin


Admin
Instructional Media Development (IMD)
설명서 리소스 센터
편집자: Jen deHaan


수석 테크니컬 라이터
Macromedia
weblogs.macromedia.com/
dehaan*

www.flash-mx.com*
www.flash8forums.com*
검토자: Grant Skinner


CEO 겸 수석 설계자
gskinner.com*

참고: 이 학습 설명서에서는 Flash의 그래픽 효과를 소개하고 기술을 개발하기 위한 도구를 제공합니다. Flash 제품 설명서에는 이러한 자료 중 상당수가 포함되어 있습니다. 새 기능을 사용하는 방법을 배울 때는 항상 Flash 도움말을 먼저 참조하십시오. Flash 도움말은 제품이나 Flash LiveDocs*에서 사용할 수 있습니다.
Macromedia Flash 8에는 새로운 유형의 그래픽 효과를 생성하는 다양한 기능이 새로 도입되었습니다. 이러한 새
효과를 통해 다양한 측면에서 Flash 프로젝트의 새로운 디자인 가능성이 생기므로 Flash 창작 작업의 모양이 크게 변경됩니다.
새로운 드로잉 기능 및 비디오 기능과 함께 이러한 새 그래픽 효과는 프로젝트의 모양과 느낌을 향상시키는 표현력 촉진 도구의
범주를 구성합니다. 새로운 드로잉 관련 기능을 비롯하여 이러한 표현력 기능 중 상당수를 Flash Basic과 Flash
Professional에서 사용할 수 있습니다. 새로운 특수 효과 기능 중 일부는 Flash Professional 8 사용자
인터페이스에서만 사용할 수 있지만, ActionScript 코드를 사용하는 경우에는 Flash Basic 8 및 Flash
Professional 8에서 사용할 수 있습니다.
이러한 중요한 새 기능 중 몇 가지를 요약하면 다음과 같습니다.

  • 그래픽 효과 필터: 필터를 사용하면 무비 클립 및 텍스트에 시각 효과를 적용하여 보다
    뛰어난 디자인을 만들 수 있습니다. 기본적으로 Flash Player 8에서는 필터가 실시간으로 지원되고 렌더링됩니다. 이러한
    필터를 사용하여 객체에 광선을 적용하거나, 그림자를 추가하거나, 기타 다양한 효과를 개별적으로 또는 복합적으로 적용할 수
    있습니다.
  • 블렌드 모드: 블렌드 모드를 사용하여 스테이지의 한 객체 이미지가 그 아래에 있는 다른 객체 이미지와 결합되는 방식을 변경함으로써 다양한 합성 효과를 얻을 수 있습니다.
  • 비트맵 다듬기: 이제 스테이지에서 비트맵 이미지를 과도하게 확대 또는 축소할 때 훨씬 보기가 좋아졌습니다. 이러한 비트맵의 모양은 Flash 제작 도구와 Flash Player에서 일관되게 표시됩니다.
  • 런타임 비트맵 캐싱: 런타임 비트맵 캐싱을 사용하면 정적 무비 클립(예: 배경
    이미지)이나 버튼 심볼이 런타임에 비트맵으로 캐시되도록 지정하여 재생 성능을 최적화할 수 있습니다. 무비 클립을 비트맵으로
    캐시하면 Flash Player가 이미지를 반복하여 다시 그릴 필요가 없으므로 상황에 따라 재생 성능이 크게 향상됩니다. 이
    기능은 Flash Basic 8 및 Flash Professional 8 사용자 인터페이스에서 사용할 수 있습니다.

이러한 새 필터 및 블렌드 효과는 Flash Professional 8 사용자 인터페이스에만 있지만 Flash Basic
및 Flash Professional에서 내용을 그리고 애니메이션 효과를 적용할 수 있습니다. 두 버전에는 향상된 드로잉 도구
및 기능과 새로운 고급 텍스트 렌더링이 포함되어 있습니다. ActionScript 코드를 사용하면 Flash Basic 8과
Flash Professional 8에서 필터 및 블렌드 효과를 적용할 수 있습니다.
요구 사항


이 학습 설명서를 진행하려면 다음 소프트웨어를 설치해야 합니다.
Macromedia Flash Professional 8






사전 지식


Flash 작업 영역을 사용하는 방법을 알고 있어야 하고 Flash 파일에서 작업하기 위한 기본적인 지식을 갖고 있어야
합니다. 또한 코드를 사용하여 그래픽 효과를 만드는 단원에서는 중급 수준의 ActionScript 지식이 필요합니다.
Flash 필터 사용


필터를 사용하면 텍스트, 버튼 및 무비 클립에 재미있는 시각 효과를 줄 수 있습니다. 필터는 그래픽 요소에 그림자, 흐림,
광선 및 경사를 적용할 때 주로 사용됩니다. 모션 트윈을 사용하여 적용한 필터를 애니메이션으로 만들 수 있는 기능은 Flash의
고유한 기능입니다. 예를 들어, 그림자 필터를 사용하여 공이나 구를 만드는 경우 타임라인의 시작 프레임과 끝 프레임에서 그림자
위치를 변화시켜 광원이 한쪽에서 다른 쪽으로 이동하는 모습을 시뮬레이트할 수 있습니다.
필터를 적용한 다음 언제든지 옵션을 변경하거나 필터 순서를 다시 배열하여 조합된 효과를 시험해 볼 수 있습니다. 속성
관리자에서 필터를 활성화하거나 비활성화할 수 있으며 필터를 삭제할 수도 있습니다. 필터를 제거하면 객체는 이전 모습으로
돌아갑니다. 객체를 선택하면 객체에 적용된 필터를 볼 수 있습니다. 이렇게 하면 선택한 객체에 대한 속성 관리자의 필터 목록이
자동으로 업데이트됩니다.
필터 적용



속성 관리자를 사용하여 선택한 객체에 하나 이상의 필터를 적용할 수 있습니다. 객체에 새 필터를 추가할
때마다 속성 관리자에는 해당 객체에 적용된 필터 목록에 새 필터가 추가됩니다. 이미 적용한 필터를 삭제할 수 있으며 객체에 여러
가지 필터를 적용할 수도 있습니다. 그림 1에서는 무비 클립 인스턴스에 적용된 다양한 필터의 효과를 보여 줍니다.[You must be registered and logged in to see this image.]

그림 1. 필터 효과의 예제

(+) 크게 보기
필터가 SWF 파일의 성능에 영향을 미치는 방식에 대한 자세한 내용은 Flash LiveDocs*
필터 및 Flash Player 성능 단원(Flash 사용 설명서 > 필터 및 블렌드 사용(Flash
Professional만 해당) > 필터 및 Flash Player 성능)과 오류 처리, 성능 및 필터 단원(Flash에서
ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > 필터 효과 사용 > 오류 처리, 성능 및
필터)을 참조하십시오.
필터를 적용하려면:



  1. 필터를 적용할 무비 클립, 버튼 또는 텍스트 객체를 스테이지에서 선택합니다. 필터는 텍스트, 버튼 및 무비 클립 객체에만 적용할 수 있습니다.
  2. 속성 관리자에서 필터 탭을 선택합니다.

  3. 필터 추가(+) 버튼을 클릭하고 필터 팝업 메뉴에서 필터를 선택합니다(그림 2 참조). 선택한 필터가 객체에 적용되고 필터를 설정할 수 있는 컨트롤이 속성 관리자에 표시됩니다. [You must be registered and logged in to see this image.]

    그림 2. 속성 관리자의 필터 추가 메뉴

  4. 원하는 모양을 얻을 때까지 설정을 시험해 보십시오. 각 필터에 사용할 수 있는 설정에 대한 자세한 내용은 Flash LiveDocs*의 다음 단원을 참조하십시오.
</li>

필터를 제거하려면:



  1. 필터를 제거할 무비 클립, 버튼 또는 텍스트 객체를 선택합니다.
  2. 속성 관리자에서 필터 탭을 선택합니다.
  3. 적용된 필터 목록에서 제거하려는 필터를 선택합니다.
  4. 필터 제거(–) 버튼을 클릭하여 필터를 제거합니다.

객체에 동일한 필터나 필터 세트를 간단하게 적용할 수 있는 필터 설정 라이브러리를 만들 수 있습니다. 속성 관리자에서 사용자가 만든 필터 프리셋은 필터 > 프리셋 메뉴의 필터 탭에 저장됩니다.
프리셋을 삭제하거나 이름을 변경할 수 있습니다.
자세한 내용은 Flash LiveDocs*의 Flash 사용 > 필터 및 블렌드 사용(Flash Professional만 해당) > 필터 적용 > 프리셋 필터 라이브러리 만들기 단원을 참조하십시오.
객체에 적용된 필터를 활성화하거나 비활성화하려면:




  • 속성 관리자의 필터 목록에서 필터 이름 옆에 있는 활성화 또는 비활성화 아이콘을 클릭합니다.

    참고: Alt 키를 누른 상태에서 필터 목록에 있는 활성화 아이콘을 클릭하면 목록에 있는 다른 필터의 활성화 상태를 전환할 수 있습니다. Alt 키를 누른 상태에서 비활성화 아이콘을 클릭하면 선택한 필터는 활성화되고 목록에 있는 다른 필터는 모두 비활성화됩니다.

객체에 적용된 모든 필터를 활성화하거나 비활성화하려면:




  • 속성 관리자에서 필터 추가(+) 버튼을 클릭하고 팝업 메뉴에서 모두 활성화 또는 모두 비활성화를 선택합니다.

    참고: Ctrl 키를 누른 상태에서 필터 목록에서 활성화 또는 비활성화 아이콘을 클릭하면 목록의 모든 필터를 활성화하거나 비활성화할 수 있습니다.

이 시점에서 기본 필터를 적용한 효과를 직접 확인해 보고 싶을 수 있습니다. Flash 설명서에 예제가 많이 나와
있지만(위 참조), 시작할 만한 쉬운 예제는 그림자를 적용하는 것이므로 다음 단계를 수행하여 해당 예제를 시도해 보십시오.
객체에 프리셋 필터를 적용하려면:



  1. 필터 프리셋을 적용할 무비 클립, 버튼 또는 텍스트 객체를 선택합니다.
  2. 속성 관리자에서 필터 탭을 선택합니다.
  3. 필터 추가(+) 버튼을 클릭하고 필터 팝업 메뉴에서 프리셋을 선택합니다.
  4. 프리셋 메뉴의 아래쪽에 있는 사용 가능한 프리셋 목록에서 적용하려는 프리셋 필터를 선택합니다.


참고: 객체에 필터 프리셋을 적용하면 선택한 객체에 현재 적용되어 있는 모든 필터가 프리셋에 사용된 필터로 교체됩니다.
기울어진 그림자 만들기


그림자 필터의 객체 숨김 옵션을 사용하면 객체의 그림자를 기울여서 더욱 사실감 있는 모양을 만들 수 있습니다(그림 3 참조). 이런 효과를 얻으려면 무비 클립, 버튼 또는 텍스트 객체의 복제본을 만들고 복제본에 그림자를 적용한 다음 자유 변형 도구를 사용하여 복제본 객체의 그림자를 기울입니다.[You must be registered and logged in to see this image.]

그림 3. 그림자 필터를 기울여 더욱 사실감 있는 그림자 만들기
기울어진 그림자를 만들려면:



  1. 그림자를 기울일 무비 클립이나 텍스트 객체를 선택합니다.
  2. 소스 무비 클립이나 텍스트 객체를 복제합니다(편집 > 복제 선택).
  3. 복제된 객체를 선택하고 자유 변형 도구를 사용하여 기울입니다(수정 > 변형 > 회전 및 기울이기).
  4. 복제된 무비 클립이나 텍스트 객체에 그림자 필터를 적용하고 객체 숨김 체크 상자를 선택합니다. 복제된 객체가 숨겨져 기울어진 그림자만 남게 됩니다.
  5. 원하는 모양이 될 때까지 그림자 필터 설정과 기울어진 그림자의 각도를 조정합니다.

ActionScript를 사용하여 필터 적용


Flash Professional 8에서 Flash 사용자 인터페이스를 사용하거나 Flash Basic 8 또는 Flash
Professional 8에서 ActionScript를 사용하여 필터를 적용할 수 있습니다. ActionScript를 사용하면
각 필터 효과를 무비 클립, 버튼 또는 텍스트 필드에 적용할 수 있습니다.
ActionScript를 사용하여 필터를 인스턴스에 적용할 경우 Flash 사용자 인터페이스에서 사용할 수 없는 위치 변경
맵 필터나 회선 필터도 사용할 수 있습니다. 필터는 벡터 정의에 적용되므로 SWF 파일 안에서 비트맵 이미지를 저장할 때 파일
크기 오버헤드가 발생하지 않습니다. 텍스트 필드, 무비 클립 또는 버튼에 적용된 기존 필터를 수정하는 ActionScript를
작성할 수도 있습니다.
이 시점에서 ActionScript 코드를 사용하여 기본 필터 효과를 적용해 볼 수 있습니다. Flash 설명서에 예제가
많이 나와 있지만(다음 목록 참조), 시작할 만한 쉬운 예제는 경사 필터를 적용하는 것입니다. 여기에서는 다음과 같은 예제를
제공합니다.
경사 필터를 적용하려면:



  1. bevel.fla라는 새 Flash 문서를 만듭니다.
  2. 그래픽이나 이미지가 포함된 새 무비 클립을 만들고 인스턴스 이름을 my_mc로 지정합니다.

  3. 타임라인의 프레임 1을 선택하고 다음 ActionScript를 추가합니다.
    import flash.filters.BevelFilter;

    // define a bevel filter

    var bevel:BevelFilter = new BevelFilter(4, 45, 0x99CCFF, 1, 0x003399, 1, 10, 10, 2, 3);

    // set strength

    bevel.strength = 5;

    // apply the filter to my_mc

    my_mc.filters = [bevel];




    참고: flash.filters.BevelFilter와 같은 패키지를 사용한 작업에 대한 자세한 내용은 Flash LiveDocs*의 Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > 필터 효과 사용 > 필터 패키지를 사용한 작업 단원을 참조하십시오.

  4. 컨트롤 > 무비 테스트를 선택하여 문서를 테스트합니다.
    경사 필터에 전달하는 매개 변수에 대한 자세한 내용은 Flash LiveDocs*의 ActionScript 2.0 언어 참조 설명서 > ActionScript 클래스 > BevelFilter(flash.filters.BevelFilter) 단원을 참조하십시오.

코드를 사용하여 여러 필터를 적용하는 작업도 마찬가지 방식으로 이루어집니다. 그러나 일부 필터의 경우 필터를 적용할 때
다른 정보가 필요합니다. 예를 들어, 색상 매트릭스 필터에는 배열이 필요합니다. 다음 예제에서처럼 색상 매트릭스 필터를 사용하여
인스턴스의 밝기를 수정할 수 있습니다.
색상 매트릭스 필터를 적용하려면:



  1. 새 Flash 문서를 만들고 brightness.fla로 저장합니다.

  2. 타임라인의 프레임 1에 다음 ActionScript를 추가합니다.
    import flash.filters.ColorMatrixFilter;

    System.security.allowDomain("http://www.helpexamples.com/");

    var mcl_obj:Object = new Object();

    mcl_obj.onLoadInit = function(target_mc:MovieClip):Void {

    var myElements_array:Array = [1, 0, 0, 0, 100,

    0, 1, 0, 0, 100,

    0, 0, 1, 0, 100,

    0, 0, 0, 1, 0];

    var myColorMatrix_filter:ColorMatrixFilter = new ColorMatrixFilter(myElements_array);

    target_mc.filters = [myColorMatrix_filter];

    }

    this.createEmptyMovieClip("img_mc", this.getNextHighestDepth());

    var img_mcl:MovieClipLoader = new MovieClipLoader();

    img_mcl.addListener(mcl_obj);

    img_mcl.loadClip("http://www.helpexamples.com/flash/images/image2.jpg", img_mc);



    이 코드에서는 MovieClipLoader 인스턴스를 사용하여 JPEG 이미지를 동적으로 로드합니다. 이미지가 완전히 로드되고 스테이지에 놓여진 후에는 색상 매트릭스 필터를 사용하여 인스턴스의 밝기가 100%로 설정됩니다.
    색상 매트릭스에 대한 자세한 내용은 Flash LiveDocs*의 ActionScript 2.0 언어 참조 설명서 > ActionScript 클래스 > ColorMatrixFilter(flash.filters.ColorMatrixFilter) 단원을 참조하십시오.

  3. 컨트롤 > 무비 테스트를 선택하여 문서를 테스트합니다.
    필터를 적용한 후 ActionScript를 사용하여 속성을 조정하거나 필터에 애니메이션 효과를 적용하는 등의 필터 조작 작업을 수행할 수 있습니다. 자세한 내용은 필터 속성 조절ActionScript를 사용하여 필터에 애니메이션 적용 단원을 참조하십시오.

    참고: ActionScript 코드를 사용하여 적용할 수 있는 필터에는 회선 필터와 위치 변경 맵 필터도 있지만, 두 필터는 Flash 사용자 인터페이스를 통해 사용할 수 없습니다. 두 필터에 대한 자세한 내용은 Flash LiveDocs*의 다음 단원을 참조하십시오.


    • 회선 필터 사용(Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 회선 필터 사용)
    • 위치 변경 맵 필터 사용(Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 위치 변경 맵 필터 사용)
</li>

ActionScript 코드를 사용하여 각 필터를 적용하는 예제를 보려면 Flash LiveDocs*의 다음 단원을 참조하십시오.

  • 흐림 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 흐림 필터 사용
  • 그림자 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 그림자 필터 사용
  • 광선 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 광선 필터 사용
  • 그래디언트 광선 만들기*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 그래디언트 광선 만들기
  • 경사 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 경사 필터 사용
  • 그래디언트 경사 필터 적용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 그래디언트 경사 필터 적용
  • 색상 매트릭스 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 색상 매트릭스 필터 사용
  • 회선 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 회선 필터 사용
  • 위치 변경 맵 필터 사용*: Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > ActionScript를 사용하여 필터로 작업 > 위치 변경 맵 필터 사용

ActionScript를 사용하여 여러 필터 적용


객체에 적용된 필터의 배열은 MovieClip.filters 속성을 사용하여 표준
ActionScript 호출을 통해 액세스할 수 있습니다. 이 호출에서는 무비 클립과 현재 연결된 각 필터 객체를 포함하는
배열을 반환합니다. 객체의 필터 배열에 필터를 두 개 이상 추가하여 여러 효과를 적용할 수 있습니다. 효과는 배열에 나열된
순서대로 적용됩니다.
filters 속성을 설정하면 전달된 필터 배열이 복제되며(다음 예제에 나와 있음) 필터가 참조로 저장되지 않음을 명심해야 합니다. filters 속성을 가져오면 배열의 새 복사본이 반환됩니다. 이 방법을 사용할 경우 한 가지 단점은 다음 코드가 작동하지 않는다는 점입니다.
// this will not work

my_mc.filters[0].push(myFilter);



앞의 코드 예제에서는 필터 배열의 복사본을 반환하기 때문에 복제본을 수정합니다. 다음 예제에서는 객체의 기존 필터 목록 끝에 흐림 필터를 추가합니다.
// this will work:

import flash.filters.BlurFilter;

var filterList:Array = myClip.filters;

filterList.push(new BlurFilter(3,3,2));

myClip.filters = filterList;



이 예제의 장점은 한 객체에서 필터를 복사하고 수정한 다음 원래 객체의 필터에 영향을 주지 않고 다른 객체에 해당 필터를 적용할 수 있다는 점입니다.
ActionScript를 사용하여 필터 속성 조정


객체에 적용된 필터의 배열은 MovieClip.filters 속성을 사용하여 표준
ActionScript 호출을 통해 액세스할 수 있습니다. 객체의 필터 배열에 필터를 두 개 이상 추가하여 여러 효과를 적용할
수 있습니다. 필터는 배열에 나열된 순서대로 적용됩니다. 이 호출에서는 무비 클립과 현재 연결된 각 필터 객체를 포함하는 배열을
반환합니다. 각 필터에는 고유한 속성 집합이 있습니다. 일반 배열 객체처럼 필터에 액세스하고 수정할 수 있지만, filters 속성을 사용하여 필터를 가져오고 설정하면 참조 대신 필터 객체의 복제본이 반환됩니다.
filters 속성을 설정하면 전달된 필터 배열이 복제되며(다음 예제에 나와 있음) 필터가 참조로
저장되지 않습니다. filters 속성을 가져오면 배열의 새 복사본이 반환됩니다. 따라서 한 객체에서 필터를 복사하고 수정한
다음 원래 객체의 필터에 영향을 주지 않고 다른 객체에 해당 필터를 적용할 수 있습니다. 이 방법을 사용할 경우 한 가지 단점은
다음 코드가 작동하지 않는다는 점입니다.
// does not work

my_mc.filters[0].blurX = 20;



앞의 코드 예제에서는 필터 배열의 복사본을 반환하기 때문에 복제본을 수정합니다. blurX 속성을 수정하려면 다음 ActionScript와 같은 코드를 대신 사용해야 합니다.
// works

var filterList:Array = my_mc.filters;

filterList[0].blurX = 20;

my_mc.filters = filterList;



다음 예제에서는 스테이지에서 마우스 포인터의 현재 위치에 따라 이미지에 흐림 효과를 적용합니다. 마우스 커서를 수평이나 수직으로 움직일 때마다 그에 따라 흐림 필터의 blurX 및 blurY 속성이 변경됩니다.
무비 클립의 필터 속성을 조정하려면:



  1. 새 Flash 문서를 만들고 adjustfilter.fla로 저장합니다.

  2. 타임라인의 프레임 1에 다음 ActionScript를 추가합니다.
    import flash.filters.BlurFilter;

    //create a new movie clip called holder_mc

    var holder_mc:MovieClip = createEmptyMovieClip("holder_mc", 10);

    //create a nested movie clip called img_mc

    holder_mc.createEmptyMovieClip("img_mc", 20);

    //load an image into img_mc

    holder_mc.img_mc.loadMovie("http://www.helpexamples.com/flash/images/image2.jpg");

    //apply a blur filter

    holder_mc.filters = [new BlurFilter(10, 10, 2)];

    //position the movie clip on the Stage

    holder_mc._x = 75;

    holder_mc._y = 75;

    //adjust the blur filter when the mouse moves

    holder_mc.onMouseMove = function() {

    var tempFilter:BlurFilter = holder_mc.filters[0];

    tempFilter.blurX = Math.floor((_xmouse / Stage.width) * 255);

    tempFilter.blurY = Math.floor((_ymouse / Stage.height) * 255);

    holder_mc.filters = [tempFilter];

    };


    앞의 코드는 세 부분으로 나뉩니다. 첫 번째 부분에서는 flash.filters.BlurFilter 클래스를 가져오므로 BlurFilter
    클래스를 참조할 때 정규화된 클래스 이름을 사용할 필요가 없습니다. 두 번째 부분에서는 무비 클립 쌍을 만들어 중첩된 클립 중
    하나 안에 이미지를 로드합니다. 세 번째 부분에서는 스테이지에서 마우스 움직임에 반응하며 그에 따라 흐림 효과를 조정합니다.
  3. 컨트롤 > 무비 테스트를 선택하여 Flash 문서를 테스트합니다. x축을 따라 마우스 커서를 움직이면 흐림 필터의 blurX 속성이 수정되고, y축을 따라 마우스 커서를 움직이면 흐림 필터의 blurY 속성이 수정됩니다. 마우스 커서가 스테이지의 왼쪽 위 모서리에 가까이 갈수록 무비 클립에 적용되는 흐림 효과가 적어집니다.

필터에 애니메이션 효과 적용


필터가 적용된 무비 클립에 애니메이션 효과를 적용할 수 있습니다. 트윈으로 결합된 개별 키프레임에 있는 객체는 중간
프레임에서 트위닝된 해당 필터의 매개 변수를 갖게 됩니다. 트윈의 반대편 끝에 해당 필터와 일치하는 필터(동일한 유형의 필터)가
없는 경우 효과가 애니메이션 시퀀스의 끝까지 지속되도록 일치하는 필터가 자동으로 추가됩니다.
Flash 사용자 인터페이스를 사용하여 필터에 애니메이션 효과를 적용하려면:



  1. 새 Flash 문서를 만들고 anifilter.fla로 저장합니다.
  2. 프레임 1에서 스테이지에 무비 클립 인스턴스를 만들거나 추가합니다.
  3. 인스턴스를 선택하고 필터 탭을 엽니다.
  4. 필터 추가 버튼을 클릭하고 팝업 메뉴에서 광선을 선택합니다.
  5. 필터 탭에서 X 흐림Y 흐림 값을 25로 변경합니다.
  6. 타임라인에서 프레임 15를 선택하고 F6 키를 눌러 새 키프레임을 삽입합니다.
  7. 무비 클립 인스턴스를 다시 선택하고 필터 탭을 엽니다.
  8. X 흐림Y 흐림 값을 2로 변경합니다.
  9. 마우스 오른쪽 버튼을 클릭(Windows)하거나 Ctrl 키를 누른 상태에서 클릭(Macintosh)하고 컨텍스트 메뉴에서 모션 트윈 생성을 선택합니다.
  10. 컨트롤 > 무비 테스트를 선택하여 애니메이션 효과가 적용된 필터를 테스트합니다.


참고: Flash Professional 8은 새로운 사용자 정의 속도 기능을 사용하는 트위닝에 대한 고급 제어를 지원합니다.
트윈의 한쪽 끝에 필터가 없거나 각 끝에서 필터가 다른 순서로 적용되는 경우 모션 트윈이 잘못 작동하는 것이 방지됩니다.
예를 들어, 그림자 필터를 사용하여 모션 트윈을 만들고 트윈의 첫 번째 프레임에는 녹아웃을 사용한 그림자를 적용하고 트윈의
마지막 프레임에는 내부 그림자를 적용하는 경우 모션 트윈에서 일치하지 않는 필터는 수정됩니다. 이 경우 트윈의 첫 번째 프레임에
사용된 필터 설정인 녹아웃을 사용한 그림자가 적용됩니다.
애니메이션이 잘못 작동하는 것이 방지되는 방식에 대한 자세한 내용은 Flash LiveDocs*의 Flash 사용 설명서 > 필터 및 블렌드 사용(Flash Professional만 해당) > 필터 애니메이션(Flash Professional만 해당) 단원을 참조하십시오.
ActionScript를 사용하여 필터에 애니메이션 효과 적용


Tween 클래스와 같은 ActionScript를 사용하여 런타임에 필터에 애니메이션 효과를 적용할 수 있으므로 Flash 응용 프로그램에 재미있는 애니메이션 효과를 적용할 수 있습니다.
첫 번째 예제에서는 무비 클립 인스턴스에 광선 필터를 적용합니다. onEnterFrame 이벤트 핸들러를 사용하여 무비 클립에 적용되는 광선에 애니메이션 효과를 적용합니다.
코드를 사용하여 필터에 애니메이션 효과를 적용하려면:



  1. 새 Flash 문서를 만들고 animFilter.fla로 저장합니다.
  2. 스테이지에서 그래픽을 그린 다음 선택하고 수정 > 심볼로 변환을 선택합니다.
  3. 무비 클립 심볼의 이름을 지정한 다음 확인을 클릭합니다.
  4. 스테이지에서 무비 클립 인스턴스를 선택하고 속성 관리자의 인스턴스 이름 텍스트 상자에 my_mc를 입력합니다.

  5. 타임라인의 프레임 1에 다음 ActionScript를 추가합니다.
    import flash.filters.GlowFilter;

    my_mc.filters = [new GlowFilter()];

    var dir:Number = 1;

    my_mc.blur = 10;my_mc.onEnterFrame = function() {

    my_mc.blur += dir;

    if ((my_mc.blur >= 30) || (my_mc.blur <= 10)) {

    dir *= -1;

    }

    var filter_array:Array = my_mc.filters;

    filter_array[0].blurX = my_mc.blur;

    filter_array[0].blurY = my_mc.blur;

    my_mc.filters = filter_array;

    };



    이 코드에서는 스테이지에서 무비 클립 인스턴스에 광선 필터를 적용하고 필터에 애니메이션 효과를 적용하는 작업을 담당하는 onEnterFrame 이벤트 핸들러를 정의합니다. onEnterFrame 이벤트 핸들러는 10픽셀~30픽셀 흐림 사이에서 광선 필터에 애니메이션 효과를 적용하며 애니메이션이 30보다 크거나 같아지거나 10보다 작거나 같아진 후에 애니메이션 방향을 반대로 바꿉니다.

  6. 변경 내용을 Flash 문서에 저장하고 컨트롤 > 무비 테스트를 선택하여 SWF 파일을 테스트합니다.

    참고: Tween 클래스를 사용하여 흐림 필터에 애니메이션 효과를 적용하는 예제를 보려면 Flash LiveDocs*의 Flash에서 ActionScript 2.0 학습 > 애니메이션, 필터 및 드로잉 > 코드로 필터 효과 조작 > ActionScript를 사용하여 필터에 애니메이션 적용 단원을 참조하십시오.

필터 및 Flash Player 성능


Flash 파일에서 무비 클립에 필터를 적용하는 경우에는 객체에 적용하는 필터의 유형, 개수 및 품질이 SWF 파일을 재생할 때 성능에 영향을 줄 수 있다
점을 명심해야 합니다. 객체에 적용하는 필터가 많을수록 사용자가 만든 시각적 효과를 올바르게 표시하기 위해 Flash
Player에서 처리해야 하는 계산 횟수가 늘어납니다. 이 때문에 객체에 적용하는 필터 수를 제한하는 것이 좋습니다.
런타임에서의 실제 영향은 필터가 적용되는 화면 영역과 Flash Player가 필터를 다시 그려야 하는 빈도에 따라 크게
달라집니다. Flash Player는 비트맵으로 적용된 필터가 있는 무비 클립을 프레임마다 다시 그리지 않기 위해 해당 클립을
자동으로 캐시합니다. 무비 클립이 회전, 크기 조절 또는 모양 변경을 통해 수정되면 Flash Player는 해당 클립과 효과를
다시 그립니다. 무비 클립을 변환(이동)하면 다시 그리기가 발생하지 않습니다. 비트맵 캐싱에 대한 자세한 내용은 런타임 비트맵 캐싱 단원을 참조하십시오.
각 필터에는 적용된 필터의 강도와 품질을 조절할 수 있는 컨트롤이 포함되어 있습니다. 속도가 느린 컴퓨터에서는 낮은 설정을
사용하면 성능이 좋아집니다. 컴퓨터에서 광범위하게 재생할 내용을 작성하거나 사용자의 컴퓨터 성능을 정확히 알지 못하는 경우 품질
수준을 낮게 설정하면 재생 성능을 최대화할 수 있습니다.

팁: ActionScript를 사용하여 흐림 필터를 적용하는 경우
2, 4, 8, 16 및 32와 같은 2의 제곱이 되는 blurX 및 blurY의 값을 사용하면 보다 빨리 계산할 수 있어서
성능을 20%~30% 향상시킬 수 있습니다.
블렌드 모드 사용


블렌드 모드를 사용하여 합성 이미지를 만들 수 있습니다. 합성은 두 개 이상의 객체가 겹쳐 있을 때 투명도 또는 색상 상호
작용에 변화를 주는 과정입니다. 블렌딩을 사용하면 서로 겹치는 무비 클립에 색상을 혼합하여 고유한 효과를 만들 수 있으며 객체와
이미지의 불투명도를 추가적으로 제어할 수 있습니다. Flash 블렌딩 모드를 사용하여 기본적인 이미지 쇼에서 세부 묘사를 할 수
있는 강조 표시 또는 그림자를 만들거나 색상이 흐릿한 이미지에 색상을 입힐 수 있습니다.
블렌딩 모드에는 다음 요소가 포함되어 있습니다.

  • 블렌드 색상 - 블렌드 모드에 적용되는 색상입니다.
  • 불투명도 - 블렌드 모드에 적용되는 투명한 정도입니다.
  • 기준 색상 - 블렌드 색상 밑에 있는 픽셀의 색상입니다.
  • 결과 색상 - 기준 색상에 블렌드 효과를 적용한 결과입니다.

Flash의 블렌드 모드


블렌드 모드는 블렌드에 적용하는 객체의 색상과 기본 색상에 따라 달라지므로 다양한 색상을 테스트하여 나타나는 결과를 확인해야 합니다. 원하는 효과를 얻으려면 다양한 블렌드 모드를 시험해 보십시오.
Flash에서는 다음과 같은 블렌드 모드를 제공합니다.

  • 보통 - 기준 색상과 상호 작용하지 않고 일반적으로 색상을 적용합니다.
  • 레이어 - 색상을 일반적으로 블렌딩하지만 블렌딩 전에 불투명도 100%에서 블렌드 객체를 미리 합성합니다. 이에 따라 블렌드 객체의 하위 클립이 서로 혼합되는 것이 방지됩니다.
  • 어둡게 - 블렌드 색상보다 밝은 영역만 바꿉니다. 블렌드 색상보다 어두운 영역은 변경되지 않습니다.
  • 곱하기 - 기준 색상에 블렌드 색상을 곱해 결과적으로 색상을 어둡게 만듭니다.
  • 밝게 - 블렌드 색상보다 어두운 픽셀만 바꿉니다. 블렌드 색상보다 밝은 영역은 변경되지 않습니다.
  • 스크린 - 반전된 블렌드 색상에 기준 색상을 곱해 결과적으로 표백 효과를 냅니다.
  • 오버레이 - 기준 색상에 따라 색상을 곱하거나 스크린합니다.
  • 강한 조명 - 블렌드 모드 색상에 따라 색상을 곱하거나 스크린합니다. 이 효과는 객체에 스포트라이트를 비추는 것과 유사합니다.
  • 차이 - 어느 색상이 더 밝은 값을 가지는지에 따라 기준 색상에서 블렌드 색상을 빼거나 블렌드 색상에서 기준 색상을 뺍니다. 이 효과는 컬러 네거티브와 유사합니다.
  • 반전 - 기준 색상을 반전시킵니다.
  • 알파 - 알파 마스크를 적용합니다.
  • 지우기 - 배경 이미지에 있는 것은 물론 모든 기준 색상 픽셀을 제거합니다.


참고: 지우기 및 알파 블렌드 모드의 경우 보통 이외의 블렌드 모드가 부모 무비 클립에 적용되어야 합니다.
블렌드 모드 예제



그림 4에서는 이미지에 적용된 다양한 블렌드 모드의 효과를 보여 줍니다. 기본 이미지의 색상과 적용하는 블렌드 모드의 유형에 따라 블렌드 모드의 효과는 크게 달라질 수 있습니다.
[You must be registered and logged in to see this image.]

그림 4. 블렌드 모드의 예제

(+) 크게 보기
블렌드 모드 적용


무비 클립의 속성 관리자를 사용하여 선택한 무비 클립에 블렌드를 적용합니다.
무비 클립에 블렌드 모드를 적용하려면:



  1. 스테이지에서 블렌드 모드를 적용하려는 무비 클립 인스턴스를 선택합니다.
  2. 속성 관리자의 색상 팝업 메뉴를 사용하여 무비 클립 인스턴스의 색상 및 투명도를 조절합니다.
  3. 무비 클립 속성 관리자의 블렌드 팝업 메뉴에서 블렌드 모드를 선택합니다. 선택한 무비 클립 인스턴스에 블렌드 모드가 적용됩니다.
  4. 선택한 블렌드 모드가 원하는 효과에 적합한지 확인합니다.

원하는 효과를 얻으려면 무비 클립의 색상 및 투명도 설정과 다양한 블렌드 모드를 시험해 봐야 합니다. 무비 클립의 색상 조정에 대한 자세한 내용은 Flash LiveDocs*의 Flash 사용 설명서 > <NOBR>심볼, 인스턴스 및 라이브러리 에셋 사용 > 인스턴스 속성 변경 > 인스턴스의 색상 및 투명도 변경 단원을 참조하십시오.
ActionScript를 사용하여 블렌드 모드 적용


Flash Basic 8과 Flash Professional 8에서 ActionScript 코드를 사용하여 블렌드 모드를 인스턴스에 적용할 수도 있습니다. 예를 들어, 다음 코드를 사용하여 차이 블렌드 모드를 적용할 수 있습니다.
타임라인의 프레임 1에 다음 ActionScript를 입력합니다.
createEmptyMovieClip("img_mc", 10);

var img_mcl:MovieClipLoader = new MovieClipLoader();

var mclListener:Object = new Object();

img_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", img_mc);

mclListener.onLoadInit = function(img_mc:MovieClip) {

img_mc.blendMode = "difference";

};

img_mcl.addListener(mclListener);



컨트롤 > 무비 테스트를 선택하여 문서를 테스트합니다.
여러 가지 블렌드 모드가 이미지에 적용되는 방식을 확인하려면 다음 예제를 사용합니다. 다음 예제에서는 동적 이미지를 로드하고 스테이지의 콤보 상자에서 블렌딩 모드를 선택하여 이미지에 다양한 블렌딩 모드를 적용할 수 있도록 합니다.
ActionScript를 사용하여 블렌드 모드를 이미지에 적용하려면:



  1. 새 Flash 문서를 만들고 blendmodes.fla로 저장합니다.
  2. ComboBox 구성 요소 인스턴스를 스테이지로 드래그한 후 인스턴스 이름을 blendMode_cb로 지정합니다.

  3. 타임라인의 프레임 1에 다음 ActionScript를 추가합니다.
    var blendMode_dp:Array = new Array();

    blendMode_dp.push({data:"add", label:"add"});

    blendMode_dp.push({data:"alpha", label:"alpha"});

    blendMode_dp.push({data:"darken", label:"darken"});

    blendMode_dp.push({data:"difference", label:"difference"});

    blendMode_dp.push({data:"erase", label:"erase"});

    blendMode_dp.push({data:"hardlight", label:"hardlight"});

    blendMode_dp.push({data:"invert", label:"invert"});

    blendMode_dp.push({data:"layer", label:"layer"});

    blendMode_dp.push({data:"lighten", label:"lighten"});

    blendMode_dp.push({data:"multiply", label:"multiply"});

    blendMode_dp.push({data:"normal", label:"normal"});

    blendMode_dp.push({data:"overlay", label:"overlay"});

    blendMode_dp.push({data:"screen", label:"screen"});

    blendMode_dp.push({data:"subtract", label:"subtract"});

    blendMode_cb.dataProvider = blendMode_dp;



    var mclListener:Object = new Object();

    mclListener.onLoadInit = function(target_mc:MovieClip) {

    var blendModeClip:MovieClip = target_mc.createEmptyMovieClip("blendModeType_mc", 20);

    with (blendModeClip) {

    beginFill(0x999999);

    moveTo(0, 0);

    lineTo(target_mc._width / 2, 0);

    lineTo(target_mc._width / 2, target_mc._height);

    lineTo(0, target_mc._height);

    lineTo(0, 0);

    endFill();

    }

    target_mc._x = (Stage.width - target_mc._width) / 2;

    target_mc._y = (Stage.height - target_mc._height) / 2;

    blendModeClip.blendMode = blendMode_cb.value;

    };

    createEmptyMovieClip("img_mc", 10);

    var img_mcl:MovieClipLoader = new MovieClipLoader();

    img_mcl.addListener(mclListener);

    img_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", img_mc);



    function cbListener(eventObj:Object):Void {

    img_mc.blendModeType_mc.blendMode = eventObj.target.value;

    }

    blendMode_cb.addEventListener("change", cbListener);



    이 ActionScript 코드에서는 사용자가 동적으로 로드된 이미지에서 각 효과를 볼 수 있도록 각 블렌딩 모드 유형에
    해당하는 콤보 상자를 채웁니다. MovieClipLoader 인스턴스에서 사용되는 리스너 객체가 만들어집니다. 이 리스너 객체는
    onLoadInit라는 단일 이벤트 리스너를 정의합니다. 이 리스너는 이미지가 완전히 다운로드되고 Flash에서 초기화되었을 때 호출됩니다. 이벤트 리스너가 blendModeType_mc라는 새 무비 클립을 만들고 드로잉 API를 사용하여 이미지의 왼쪽 절반 위에 사각형 모양을 그립니다. 그리고 나면 ComboBox 인스턴스의 현재 선택된 블렌딩 모드가 blendModeType_mc 무비 클립에 적용됩니다.
    코드의 나머지 부분에서는 스테이지에 있는 무비 클립 안에 지정된 이미지를 로드하는 MovieClipLoader 인스턴스를 설정합니다. 마지막으로, 리스너가 blendMode_cb ComboBox 인스턴스에 대해 정의됩니다. 이 리스너는 ComboBox 인스턴스에서 새 항목이 선택될 때마다 선택한 블렌딩 모드를 적용합니다.
  4. 컨트롤 > 무비 테스트를 선택하여 문서를 테스트합니다.

비트맵을 사용한 작업


BitmapData 클래스를 사용하면 임의의 크기로 투명 또는 불투명 비트맵 이미지를 만들고 런타임에 이 이미지를 다양한
방식으로 조작할 수 있습니다. ActionScript를 사용하여 BitmapData 인스턴스를 직접 조작할 경우 Flash
Player에서 벡터 데이터의 내용을 반복적으로 다시 그려야 하는 수고 없이도 매우 복잡한 이미지를 만들 수 있습니다.
BitmapData 클래스의 메서드는 Flash 작업 영역의 필터 탭에서는 사용할 수 없는 다양한 효과를 지원합니다.
BitmapData 객체에는 일련의 픽셀 데이터가 포함되어 있습니다. 이 데이터는 완전 불투명 비트맵을 나타낼 수도 있고
알파 채널 데이터가 포함된 투명 비트맵을 나타낼 수도 있습니다. 둘 중 어느 유형이든 BitmapData 객체는 32비트 정수의
버퍼로 저장됩니다. 각각의 32비트 정수는 비트맵에 포함된 단일 픽셀의 속성을 결정합니다. 이 정수는 해당 픽셀의 ARGB(알파
투명도, 빨강, 녹색, 파랑) 값을 기술하는 8비트의 채널 값(0 ~ 255) 네 개가 합쳐진 것입니다.
RGB 색상이 대개 6자리 16진수(예:, 빨강은 0xFF0000)로 표시되는 것과 마찬가지로 ARGB는 8자리 16진수로
표시됩니다. 여기서 처음 2자리는 알파 채널, 두 번째 2자리는 빨강 채널을 나타냅니다. 예를 들어, 불투명도가 50%인 빨강은
0x80FF0000로 표시됩니다.
다음 절차에서는 JPEG 이미지를 스테이지에 동적으로 로드하고 BitmapData 클래스를 사용하여 텔레비전의 노이즈와
같은 노이즈 효과를 만듭니다. 노이즈 효과는 100밀리초(1/10초)마다 임의 패턴으로 다시 그려집니다. x축과 y축을 따라
마우스 포인터를 움직이면 매 간격마다 그려지는 노이즈의 양이 달라집니다.
BitmapData 클래스를 사용하여 노이즈 효과를 만들려면:



  1. 새 Flash 문서를 만들고 noise.fla로 저장합니다.

  2. 타임라인의 프레임 1에 다음 ActionScript를 추가합니다.
    import flash.display.BitmapData;

    createTextField("status_txt", 90, 0, 0, 100, 20);

    status_txt.selectable = false;

    status_txt.background = 0xFFFFFF;

    status_txt.autoSize = "left";

    function onMouseMove() {

    status_txt._x = _xmouse;

    status_txt._y = _ymouse-20;

    updateAfterEvent();

    }

    this.createEmptyMovieClip("img_mc", 10);

    img_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg");

    var noiseBmp:BitmapData = new BitmapData(Stage.width, Stage.height, true);

    attachBitmap(noiseBmp, 20);

    setInterval(updateNoise, 100);

    var grayScale:Boolean = true;

    function updateNoise():Void {

    var low:Number = 30 * _xmouse / Stage.width;

    var high:Number = 200 * _ymouse / Stage.height;

    status_txt.text = "low:" + Math.round(low) + ", high:" + Math.round(high);

    noiseBmp.noise(Math.round(Math.random() * 100000), low, high, 8, grayScale);

    }



    이 코드에서는 인스턴스 이름이 status_txt인 텍스트 필드를 만듭니다. 이 필드는 마우스 포인터를 따라가며 noise() 메서드에 대한 high 및 low 매개 변수의 현재 값을 표시합니다. setInterval() 함수는 updateNoise() 함수를 지속적으로 호출하여 100밀리초(1/10초)마다 업데이트되도록 노이즈 효과를 변경합니다. noise() 메서드의 high 및 low 매개 변수는 스테이지에서 포인터의 현재 위치를 계산하여 결정됩니다.
  3. 컨트롤 > 무비 테스트를 선택하여 문서를 테스트합니다.

x축을 따라 마운스 포인터를 움직이면 low 매개 변수의 값이 변경되고,. y축을 따라 마우스 포인터를 움직이면 high 매개 변수의 값이 변경됩니다.
런타임 비트맵 캐싱


응용 프로그램을 작성하든 스크립팅된 복잡한 애니메이션을 작성하든 Flash에서 작업하는 디자인은 규모가 커질 수 있으므로,
성능 및 최적화를 고려해야 합니다. 사각형 무비 클립과 같이 정적으로 유지되는 내용은 자동으로 최적화되지 않습니다. 따라서
사각형 무비 클립의 위치를 변경하거나 해당 클립 주변의 다른 요소가 변경되는 경우 Flash Player 7 이하의 버전에서는
전체 사각형이 다시 그려집니다.
Flash Player 8에서는 지정된 무비 클립 및 버튼을 캐시하여 SWF 파일의 성능을 향상시킬 수 있습니다. 무비
클립 또는 버튼은 기본적으로 인스턴스 벡터 데이터의 비트맵 버전인 표면이며, 이것은 SWF 파일을 만드는 과정에서 자주 변경하지
않는 데이터입니다. 따라서 캐싱이 활성화된 인스턴스가 SWF 파일이 재생될 때 계속적으로 다시 그려지지 않으므로 SWF 파일은
빠르게 렌더링됩니다.
다음 중 하나 이상의 경우에 해당하면 캐시하도록 설정한 경우에도 캐시된 비트맵이 만들어지지 않습니다.

  • 비트맵의 높이나 너비가 2880픽셀을 초과합니다.
  • 메모리 초과 오류로 인해 비트맵이 할당되지 못합니다.

특정한 경우에는 비트맵 캐싱이 SWF 파일 성능에 부정적인 영향을 미칠 수 있으므로 비트맵 캐싱을 항상 적용해서는 안
됩니다. 비트맵 캐싱을 하면 Flash Player가 벡터 데이터와 캐시된 비트맵을 메모리에 유지해야 하므로 런타임에 RAM
사용도 약간 늘어납니다. 비트맵 캐싱을 적용해야 하는 경우에 대한 자세한 내용은 Flash LiveDocs*의 Flash에서 ActionScript 2.0 학습 > 무비 클립을 사용한 작업 > ActionScript로 무비 클립 캐시 및 스크롤 > 캐싱 기능이 필요한 경우 단원을 참조하십시오.

참고: 벡터 데이터는 표면이 다시 만들어질 때 업데이트할 수 있습니다. 그러므로 표면에 캐싱된 벡터 데이터는 전체 SWF 파일에서 동일하게 유지될 필요가 없습니다.
무비 클립에 비트맵 캐싱을 지정하려면:



  1. 스테이지에서 무비 클립이나 버튼 심볼을 선택합니다.
  2. 심볼 속성 관리자에서 런타임 비트맵 캐싱 사용 체크 상자를 선택합니다.

ActionScript를 사용하여 캐싱 또는 스크롤 기능을 추가하고 배경을 제어할 수 있습니다. 속성 관리자에서 무비 클립 인스턴스에 대해 캐싱을 활성화할 수 있습니다. ActionScript를 사용하지 않으려면 속성 관리자에서 런타임 비트맵 캐싱 사용 옵션을 선택합니다.
ActionScript를 사용하는 경우에는 버튼과 무비 클립 인스턴스에 대한 세 가지 새 속성을 사용할 수 있습니다.
이러한 속성을 사용하면 비트맵으로 캐싱할 수 있고, 무비 클립의 배경색(opaqueBackground)을 설정할 수 있으며,
무비 클립 내용을 빠르게 스크롤하는 데 사용할 수 있는 속성(scrollRect)을 설정할 수 있습니다. 자세한 정보가 있는
표를 보려면 Flash LiveDocs*의 Flash에서 ActionScript 2.0 학습 > 무비 클립을 사용한 작업 > ActionScript로 무비 클립 캐시 및 스크롤 단원을 참조하십시오.
무비 클립 인스턴스를 캐시하려면 cacheAsBitmap 속성을 true로 설정해야 합니다. cacheAsBitmap 속성을 true로 설정하면 무비 클립 인스턴스가 전체 좌표를 기준으로 자동으로 픽셀에 물리는 것을 볼 수 있습니다. SWF 파일을 테스트하면 복잡한 벡터 애니메이션이 더욱 빠르게 렌더링되는 것이 보입니다.
무비 클립을 캐시하려면:



  1. 새 Flash 문서를 만들고 파일 이름을 cachebitmap.fla로 지정합니다.
  2. 속성 관리자(윈도우 > 속성 > 속성)의 프레임 속도 텍스트 상자에 24를 입력합니다.

  3. FLA 파일에서 복잡한 벡터 그래픽을 만들거나 외부로부터 가져옵니다.
    이 예제에 대해 완료된 소스 파일에 있는 복잡한 벡터 그래픽은 Flash를 설치할 때 만들어진 다음 디렉토리에서 찾을 수 있습니다.
    (Windows) 부트 드라이브\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\BitmapCaching
    (Macintosh) Macintosh HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/ActionScript/BitmapCaching
  4. 벡터 그래픽을 선택한 다음 수정 > 심볼로 변환을 선택합니다.
  5. 이름 텍스트 상자에 star를 입력한 다음 대화 상자가 확장되어 있지 않으면 고급을 클릭하여 확장합니다.
  6. ActionScript에 내보내기를 선택합니다. 이 경우, 첫 프레임으로 내보내기도 자동으로 선택됩니다.
  7. 식별자 텍스트 상자에 star를 입력합니다.
  8. 확인을 클릭하면 star라는 링크 식별자를 갖는 무비 클립 심볼이 만들어집니다.

  9. 타임라인의 프레임 1을 선택하고 액션 패널에 다음 ActionScript를 추가합니다.
    import mx.transitions.Tween;



    var star_array:Array = new Array();

    for (var i:Number = 0; i < 20; i++) {

    makeStar();

    }

    function makeStar():Void {

    var depth:Number = getNextHighestDepth();

    var star_mc:MovieClip = attachMovie("star ", "star" + depth, depth);

    star_mc.onEnterFrame = function() {

    star_mc._rotation += 5;

    }

    star_mc._y = Math.round(Math.random() * Stage.height - star_mc._height / 2);

    var star_tween:Tween = new Tween(star_mc, "_x", null, 0, Stage.width, (Math.random() * 5) + 5, true);

    star_tween.onMotionFinished = function():Void {

    star_tween.yoyo();

    };

    star_array.push(star_mc);

    }

    var mouseListener:Object = new Object();

    mouseListener.onMouseDown = function():Void {

    var star_mc:MovieClip;

    for (var i:Number = 0; i < star_array.length; i++) {

    star_mc = star_array[i];

    star_mc.cacheAsBitmap = !star_mc.cacheAsBitmap;

    }

    }

    Mouse.addListener(mouseListener);


  10. 컨트롤 > 무비 테스트를 선택하여 문서를 테스트합니다.

스테이지의 아무 곳이나 클릭하여 비트맵 캐싱을 활성화합니다. 애니메이션이 초당 1프레임의 속도(1fps)로 움직이다가
부드럽게 움직이며, 각 인스턴스가 스테이지를 가로질러 앞뒤로 왕복하는 것을 볼 수 있습니다. 스테이지를 클릭하면 star
인스턴스의 cacheAsBitmap 설정이 true와 false 사이에서 전환됩니다.
앞의 예제와 같이 캐싱 설정을 전환하는 경우 캐시된 데이터가 지워집니다. 이 코드를 Button 인스턴스에 적용할 수도 있습니다.

참고: 캐싱 기능을 텍스트 필드에 직접 적용할 수는 없습니다. 이 기능을 활용하려면 텍스트를 무비 클립 안에 배치해야 합니다. 예제를 보려면 Flash 설치 폴더의 \Samples and Tutorials\Samples\ActionScript\FlashType에서 샘플 파일을 참조하십시오.
텍스트를 사용한 작업


Flash에서 글꼴 렌더링은 텍스트가 SWF 파일에 표시되는 방법, 즉 텍스트가 런타임에 렌더링되는(또는 그려지는) 방법을
제어합니다. Flash 8에서는 두 가지 앤티 앨리어스 유형으로 보통 및 고급을 제공합니다. Flash Player 8에 사용된
고급 글꼴 렌더링 기술을 FlashType이라고 합니다. FlashType은 고급 앤티 앨리어스를 텍스트 필드에 적용하는 경우와
같이 고급 렌더링 기술을 사용하여 작은 크기와 일반 크기의 글꼴에서 텍스트의 가독성을 높이고 선명하게 표시합니다. Flash 8
제작 도구나 ActionScript를 사용하여 고급 앤티 앨리어스를 활성화할 수 있습니다. 향상된 기능은 포함한 텍스트가 장치
텍스트와 같은 수준의 품질로 나타나고 글꼴이 다른 플랫폼에서도 동일하게 표시된다는 것을 의미합니다.
앤티 앨리어스를 사용하면 텍스트를 매끄럽게 만들어 화면에 표시된 문자의 가장자리에 있는 거친 부분을 부드럽게 할 수
있습니다. 이 기능은 텍스트 크기를 작게 표시할 때 특히 유용합니다. 사용자 시스템에 Flash Player 7 이상이 설치된
경우 앤티 앨리어스는 정적, 동적 및 입력 텍스트에 대해 지원됩니다.

참고: Flash 8에서 기존 FLA 파일을 열면 텍스트가 가독성용
앤티 앨리어스 옵션으로 자동 업데이트되지 않습니다. 개별 텍스트 필드를 선택하여 앤티 앨리어스 설정을 수동으로 변경해야
FlashType 렌더링 기술을 활용할 수 있습니다.
고급 앤티 앨리어스 및 사용자 정의 앤티 앨리어스 기능은 다음을 지원합니다.

  • 텍스트 크기 조절 및 회전
  • 보통, 굵게, 기울임체 등 모든 글꼴의 크기를 최대 255포인트까지 지원
  • JPEG 또는 GIF 등 거의 모든 형식으로 파일 내보내기

고급 앤티 앨리어스 및 사용자 정의 앤티 앨리어스 기능은 다음을 지원하지 않습니다.

  • Flash Player 7 이전 버전
  • 텍스트 기울이기 또는 뒤집기
  • 인쇄
  • PNG 파일 형식으로 파일 내보내기


참고: 텍스트에 애니메이션 효과를 적용하는 경우 Flash
Player는 고급 앤티 앨리어스를 해제하여 움직이는 동안 텍스트의 모양을 향상시킵니다. 애니메이션이 완료되면 앤티 앨리어스가
다시 설정됩니다. 고급 앤티 앨리어스가 설정된 필드가 비트맵으로 캐시되거나, 적용된 필터를 갖고 있거나, BitmapData
객체에 그려지는 경우 이 필드에 대한 하위 픽셀 렌더링도 비활성화됩니다.
Flash 8에서는 5가지 글꼴 렌더링 옵션을 사용할 수 있습니다. 옵션을 선택하려면 텍스트 필드를 선택하고 속성 관리자를 엽니다. 글꼴 렌더링 방법 팝업 메뉴에서 옵션을 선택합니다.

  • 장치 글꼴: SWF 파일 크기를 더 작게 만듭니다. 이 옵션은 최종 사용자의 컴퓨터에 현재 설치된 글꼴을 사용하여 렌더링합니다.
  • 비트맵 텍스트(앤티 앨리어스 없음): 앤티 앨리어스 없이 텍스트 가장자리를 매끄럽게 만듭니다. 이 옵션은 글꼴 외곽선이 SWF 파일에 포함되기 때문에 SWF 파일 크기를 증가시킵니다.
  • [*:71ad]애니메이션용 앤티 앨리어스: 원활하게 애니메이션되는 앤티 앨리어스 텍스트를
    생성합니다. 또한 텍스트가 애니메이션되는 동안에는 정렬 및 앤티 앨리어스가 적용되지 않기 때문에 텍스트 애니메이션이 더 빨리
    진행되는 경우도 있습니다. 하지만 글자가 많은 큰 글꼴이나 크기]

http://kr.inbforum.com

上一页INBforum   Go down

上一页INBforum이전 주제 보기 다음 주제 보기 위로  메시지 [페이지 11]

Permissions in this forum:
답글을 올릴 수 없습니다

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Free forum | ©phpBB | Free forum support | 악용 사례 신고 | Latest discussions