2011-01-13 4 views
0

OK 복제 된 무비 클립을 유지하기 위해이 코드를 조정, 그래서 여기에 내 코드플래시 :

ham_mc.onPress=function(){ 
startDrag(this); 
} 
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){ 
stopDrag(); 
_root.ham_mc.duplicateMovieClip("ham_mc" + "x",2); 
x++; 
} 

사용자 수 첫째 드래그에서 무비 클립입니다. 해제되면 duplicateMovieClip 명령이 실행되고 새 햄 클립이 첫 번째 위치로 드래그됩니다.

문제 : 첫 번째 햄 동영상을 다시 클릭하고 드래그하면 duplicateMovieClip이 다시 실행되지만 이전에 생성 된 무비 클립을 대체합니다.

매번 무비 클립 복제본에 다른 이름을 부여하려고 x 및 x ++를 추가했지만 해결되지 않았습니다.

이전 코드를 덮어 쓰지 않고 항상 새 ham_mc가 만들어 지도록이 코드를 어떻게 변경합니까? 나는 피곤하다. 가난한 설명으로 유감스럽게 생각한다!

답변

0

이름이 아닙니다. (2)에서로드하는 깊이입니다. x를 2로 바꾸어보십시오.

같은 깊이로 클립을로드하면 이전에 그 깊이로로드 된 클립이 항상 교체됩니다.

편집 및 테스트 :

+0

내 게시물을 편집 과정 –

+0

의 응답에 감사드립니다 .... 중 하나가 작동 'N 그 코드 아무튼 8. : –

+0

내가 플래시 프로에있어 테스트'하지 않았나요 불행히도 아무것도 변경하지 마십시오. 오래된 이미지가 화면에 남아 있지 않습니다. 나는 당신의 .fla를 사용할 수 있습니다 : P –

0

데미안의 대답은 정확하지만 당신의 X의 카운트가 무대에서 무비 클립의 총 수와 일치하는 경우에만. 또한 모든 클립은 동일한 X 및 Y 위치로 설정됩니다. 이것은 잘 작동합니다 :

ham_mc.onPress=function(){ 
    startDrag(this); 
} 
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){ 
    stopDrag(); 
    _root.ham_mc.duplicateMovieClip("ham_mc" + x ,_root.getNextHighestDepth()); 
    _root['ham_mc' + x]._x = _root._xmouse; 
    _root['ham_mc' + x]._y = _root._ymouse; 
    x++; 
}