2014-02-07 2 views
1

는 내가 손으로 플래시에 컬러 필터를 적용 할 수있어, 다음과 같이 동적으로 다른 동영상 클립에 복사 두 영화 클립에 동일한 필터가 있는지 확인할 수 있습니다. 이 같은
뭔가 :얻기/비교 플래시 컬러 필터를 동적으로

if (newerMovieClip.filters == oldMovieClip.filters) 

는 ... 즉, 항상 두 개의 동일한 필터를 경우에도 허위 나온다. 대신 colorTransform을 사용하면이 작업을 수행 할 수 있지만이 경우에는 사용할 수 없습니다. 그래픽에는 모두 색이 변하는 선과 음영이 있으며 밝기/색조/대비가 모두 중요하므로 필터가 중요합니다. (내가하고있는 일 : 내가 만든 팔레트에서 필터링 된 버튼을 선택하여 사용자가 "색상"을 지정하는 메뉴에 의류 아이템이 있습니다. 항목을 클릭하고 해당 색상의 아바타에없는 경우 표시하고 싶거나 색상을 바꾸기를 원합니다. 이미 아바타와 같은 색상을 사용하고 있다면 필터 체크가 필요합니다 ...

답변

0

편집 : 이제 처리하는 것만 알았습니다. 컬러 필터. 아. 지금 무엇을하려고하는지 이해합니다.

이렇게하면 각 무비 클립의 유일한 필터 일뿐입니다. 우리가 moiveclip.filters 각 무비 클립의 각하여 ColorMatrixFilter를 얻을 수 있습니다이 경우

[0] 다음

: 동영상 클립에 비교하기

다음
function compareColorFilters(a:ColorMatrixFilter, b:ColorMatrixFilter) : Boolean 
{ 
    var length:uint = (a.matrix.length > b.matrix.length)?a.matrix.length:b.matrix.length; 
    for(var i:uint = 0; i < length; ++i) 
    { 
     if(a.matrix[i] != b.matrix[i]) { return false; } 
    } 
return true; 
} 

if(compareColorFilters(ColorMatrixFilter(oldClip.filters[0]), ColorMatrixFilter(newClip.filters[0])) { 
     //do stuff 
} 

으로 될 것입니다 각 moveiClip에서 각 ColorMatrixFilters를 가져 오는 것을 볼 수 있습니다. 그런 다음 행렬 (요소는 배열)을 요소별로 비교합니다. 행렬이 같으면 ... 색상, 밝기 및 색조도 동일합니다. 이것으로 전혀 혼란 스러우면, 코멘트를 남겨주세요.

희망이 도움이됩니다.

-Travis

+0

감사합니다. 내가 비교하고있는 모든 것들은 그들에 대한 컬러 필터를 가지고 있습니다. 그래서 좀 더 구체적으로 알아야합니다. 정확한 색조/밝기/대비/채도 값을 비교하여 동일하거나 약간 다른지 확인합니다. 그 마지막 비트에 대해 자세히 설명해 주시겠습니까? 이름 필드 설정이란 무엇입니까? –

+0

좋아요, 내가 처음 대답을 타이핑했을 때 나는 빨리 읽습니다. 나는 당신을 도울 내 대답을 업데이 트했습니다! – Travis

+0

OMIGOSH IT WORKS !!! 나는 너에게 천재를 선언한다! 한 번의 편집으로 원래 "불리언"으로 "무효"를 변경해야했습니다 ~ 감사합니다! 이것은 앞으로의 모든 프로젝트에서 내 인생을 훨씬 쉽게 만들어 줄 것입니다! –