2017-05-18 12 views
1

나는 무비 클립 안에 똑같은 무비 클립을 넣었습니다. 나는 그들에게 이름을 지어주고 싶지만, 각각을 위해 그것을 손으로하는 것은 성가신 일이 될 것이므로, 나는 액션 스크립트를 통해 그것을하고 싶다. Movieclip에서 Movieclips를 Class in Flash로 이름 짓는 방법은 무엇입니까?

나는 item_Potion (무관)라는 이름의 무비 클립 클래스가 있고,이 생성자 함수를 실행할 때 우리는 itemNumber라는 이름의 전역 변수에 1을 추가 한 후 우리는 간단한 측면에서 name = String("item" + itemNumber);, 우리가 만드는 이름을 그 item + itemNumber

이 클래스는이 Movieclip item_Potion에 바인딩되어 있습니다. 나는 다음과 같은 오류 얻을 name = String("item" + itemNumber); 수행하여 이름을 변경하려고

:

Error: Error #2078: The name property of a Timeline-placed object cannot be modified. 
    at flash.display::DisplayObject/set name() 
    at item_Potion()[E:\g\item_Potion.as:33] 
    at flash.display::Sprite/constructChildren() 
    at flash.display::Sprite() 
    at flash.display::MovieClip() 
    at mc_Map()[E:\g\mc_Map.as:15] 
    at Game()[E:\g\Game.as:82] 

그래서 내 질문은 지금을, 내가 이름을 수있는 방법을

이제 여기가 문제입니다 오류없이 클래스의 동영상 클립? 객체를 참조하는 "변수 토큰"로서 "타임 라인 위의 개체name 속성"의

답변

3

생각해, 따라서 에러 메시지 상태 불변 될 필요!

public class MySpecialMC extends MovieClip { 
    public var objName:String; 
} 

A :


합리적인 해결 방법은 전용 필드는 특정 이름 개체의를 잡아가있는 (아마도 MovieClip 클래스에서 파생 된) 사용자 정의 클래스와 객체를 할당하는 것 빠른 해결 방법은 매우 MovieClip 클래스의 dynamic class을 가진 개체를 제공하고 동적 특성에 " 이름"를 저장하는 것입니다 :

myObj['objName'] = 'item' + itemNumber;