2013-03-14 3 views
0

저는 16 개의 고유 한 조각이 있고 각각 고유 한 인스턴스 이름을 가진 "퍼즐"을 만든 드래그 앤 드롭을 만들었습니다.이벤트 후 특정 영화 클립 교환?

내가 가진 문제는 배열로 구성된 4 개의 대상 영역 (영역 당 4 개이지만 영역의 조각 순서는 중요하지 않음)입니다. 한 곡이 올바른 영역으로 떨어지면 다른 무비 클립으로 "전환"하고 드롭 대상 영역에 새 무비 클립을 넣고 싶습니다.

그래서 16 개의 퍼즐 조각 각각에 대해 16 개의 고유 한 동반자 조각이 있습니다. 어떻게 든 쌍을 이루어야 눈에 보이는 퍼즐 조각을 떨어 뜨리면 볼 수 없게됩니다. 동행자 조각.

방법에 대한 아이디어가 있으십니까?

+1

어디서 구체적으로 설명 할 수 있습니까? 이것은 매우 간단한 작업이지만 답변을 구술하는 방법을 아는 것이 도움이됩니다. – Marcela

+0

네, 서로 다른 두 무비 클립을 어떻게 "쌍으로"묶는 지 정확히 모르겠습니다. 쌍에는 퍼즐 조각에 대한 하나의 고유 한 인스턴스 이름과이를 대체 할 다른 고유 한 인스턴스 이름이 있기 때문입니다. 한 번에 두 무비 클립을 드래그 한 다음 다른 무비 클립의 가시성을 토글하거나 라이브러리에서 "쌍으로 된"대체 문자열을 유지하고 퍼즐이 삭제되면 x/y 좌표를 바꿀 수 있습니까? – user2171261

답변

0

MovieClip은 동적 클래스입니다. 즉, 런타임에 속성을 추가 할 수 있습니다. 이를 활용하여 원본 조각에 속성을 할당하고 pairedPiece과 같은 형식으로 호출 할 수 있습니다. 이 속성에서 적절한 값 (라이브러리에 쌍의 이름)을 저장합니다.

var firstMovieClip:MovieClip; 
// do whatever you need to set up your firstMovieClip, attach listeners, etc 
firstMovieClip.pairedPiece = "SecondMovieClip"; 

// the following will occur when the piece is dropped and you need to swap it 
var secondMovieClip:MovieClip = new (getDefinitionByName(firstMovieClip.pairedPiece) as Class)() as MovieClip; 
secondMovieClip.x = firstMovieClip.x; 
secondMovieClip.y = firstMovieClip.y; 
firtMovieClip.parent.addChildAt(secondMovieClip, firstMovieClip.parent.getChildIndex(firstMovieClip)); 
firstMovieClip.parent.removeChild(firstMovieClip);