2012-05-14 2 views
0

XML에서 탐색을 동적으로 생성하는 플래시 프로젝트를 진행하고 있습니다. 지금은 배열과 함께 작동하도록 노력 중이므로 논리가 작동하면 xml에 적용 할 수 있습니다. 나는 as3을 처음 사용하고 학습은 아주 조금 울퉁불퉁했습니다. 나는 이것에 대한 해결책을 찾고 있었지만 내가 본 많은 예제들은 너무 단순하여 내 질문에 답하거나 너무 복잡하여 새로운면에 있기 때문에 찾지 못했다. 이것은 내가 작업하고있는 코드입니다.movieClip을 참조 할 때 문제가 발생했습니다.

var clientList:Array = new Array("Client1","Client2","Client3","Client4","Client5","Client6","Client7","Client8","Client9","Client10","Client11","Client12","Client13","Client14","Client15"); 
for each (var cName in clientList){ 
    var newClientBtn:btnClientNav = new btnClientNav(); 
    newClientBtn.x = workX; 
    newClientBtn.y = workY; 
    workY += newClientBtn.height; 
    newClientBtn.mcClientName.text = cName; 
    lContent.mcWork.addChild(newClientBtn.name); 
    trace(newClientBtn); 
} 

동적으로 생성 된 클립을 올바르게 참조하는 방법을 알 수 없습니다. 버튼에 동적 텍스트 상자가 있지만이를 변경하기 위해 제대로 참조하는 방법을 알 수 없으면 다음 번 문제는 롤오버 및 클릭 코드를 만들기 위해 버튼을 참조합니다. 나는 이것을 고칠 수있는 간단한 것을 알고 있지만 너무 오랫동안 그것을 보았고 나의 눈은 십자가를 그리기 시작했습니다. 당신이 줄 수있는 조언을 미리 감사드립니다.

+0

Actionscript로 내 보낸 btnClientNav는 'MovieClip'입니까? – PanterA

답변

0

나중에 생성 할 클립에 저장할 클립에 저장하지 않으시겠습니까? 당신이 비록 이름으로 무비 클립을 참조 할 경우

, 그것을 할 수있는 한 가지 방법은 다음과 같습니다

가 텍스트 필드 또는 이후에 있었다 버튼이 있었다면
var referenceMC:MovieClip = MovieClip(containerMC.getChildByName(“targetMC”)); 

, 난 당신이 같은 행동을 할 것이라고 믿는다 대신에 getChildByName의 결과를 원하는 컨트롤에 캐스트합니다.

또한 버튼 자체를 자식으로 추가하고 addChild 호출에 이름을 전달하지 않으려한다고 생각합니다.

+0

개체에 단추를 저장한다는 것은 무엇을 의미합니까? 고객 등급을 의미합니까? 맞춤 클래스에서 만든 경우 동일한 문제가되지 않습니까? 타임 라인에서 어떻게 그들을 참조 하시겠습니까? 이전에 ActionScript에서 사용자 정의 클래스를 작성한 적이 없습니다. 나는 objectiveC에서 그들과 함께 일했지만 어떤 이유로 나는 나를 더 이해하게됩니다. 특히 movieClips로 아트를 만들 때 플래시에서 사용하는 것이 적절한 지 잘 모르겠습니다. – Tenthrow

+0

새로운 배열을 가질 수 있다고 생각했는데, 그 배열에 새 무비 클립을 할당하면 newClientBtn에 다시 액세스해야하는 경우 다음과 같이됩니다. var mybuttons : Array = new Array(); '그리고 당신의 루프'mybuttons.push (newClientBtn); – Allar

관련 문제