2012-05-14 4 views
0

Я работаю над флеш-проектом, который динамически генерирует навигацию из XML. На данный момент я пытаюсь заставить его работать с массивами, чтобы я мог приспособить его к xml, как только узнаю, что работает логика. Я новичок в as3, и обучение было небольшим ухабистым. Я искал решение этого, но многие из примеров, которые я видел, были слишком простыми, чтобы ответить на мой вопрос или слишком сложно понять, так как я нахожусь на новой стороне. Это код, с которым я работаю.Проблемы со ссылкой на клипыClips

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

Является ли btnClientNav «MovieClip», который был экспортирован в ActionScript? – PanterA

ответ

0

Почему бы не сохранить клипы, которые вы создаете, в объекте, к которому вы можете получить доступ позже?

Если вы хотите сделать ссылку на клип по имени, хотя, один из способов сделать это:

var referenceMC:MovieClip = MovieClip(containerMC.getChildByName(“targetMC”)); 

Если это текстовое поле или кнопку вы после этого, я полагаю, вы могли бы сделать то же самое но вместо этого передайте результат getChildByName в ваш желаемый элемент управления.

Я также считаю, что вы хотите добавить кнопку в качестве ребенка, а не передать свое имя в свой вызов addChild?

+0

Что вы понимаете, сохраняя кнопки в объекте? Вы имеете в виду класс клиентов? Разве это не проблема, если бы они были созданы в пользовательском классе? Как бы вы ссылались на них на временной шкале. Я никогда не писал пользовательские классы раньше в ActionScript. Я работал с ними в ObjectC, но по какой-то причине это имеет больше смысла для меня. Я не уверен, когда это целесообразно использовать в Flash, особенно когда я создаю искусство как movieClips. – Tenthrow

+0

Я думал, что у вас может быть другой массив, в котором вы просто назначаете свои новые видеоклипы этому массиву, поэтому, если вам когда-нибудь понадобится снова получить доступ к вашему newClientBtn, то о чем-то вроде: 'var mybuttons: Array = new Array(); 'и в вашем цикле' mybuttons.push (newClientBtn); ' – Allar

Смежные вопросы