![]() |
Рекурентный мувиклип
Как програмно создать рекурентный мувиклип?
Есть мувиклип. Нужно обработчик внутри него, который при n=0 не создавал мувика, а при n=... создал n мувиков-самих-себя, у которых внутри такая же проверка. Во как загнул Ж) |
Код:
onEnterFrame = function () |
mc.onEnterFrame=function(){
for(var i=0;i<n;i++){ this.duplicateMovieClip(this._name+i,this.getNextHighestDepth()); this._parent[this._name+i].onEnterFrame=this.onEnterFrame; } |
Вложений: 1
Вот пример. Но учти - рекурсия! То есть будет исполняться до упора (255 уровней вложения - гарантированы), то есть просматривать лучше в дебагере.
|
Цитата:
Но сёравно санке я принцип понял! |
Не! я подумал и решил, что мне совсем не так надо!
я тут такое замутил!!! Рассказываю как надо: У меня есть в первом кадре флэшки ниже приведённый код: Код:
var txts=new Array("папа","я","мама")Дальше просто жуть (пример того, что должно быть): Код:
_root["mc0"].ins("Папин брат 1")ins(x) - функция которая создаёт мувики в мувике. Всё это должно сформировать во такой (это пример) многомерный массив мувиков: Код:
_root["mc0"].m[0]http://blooddy.at.tut.by/tree.gif Значение, которое передаётся .ins(x) делает так: Код:
MovieClip.prototype.ins=function(x) |
Вопрос: откуда берется дерево? Каков алгоритм его генерации? Или оно статическое?
|
Ну как, откуда? Это я массив в виде дерева представил!
Он же многомерный! В виде матрицы - незьзя, так остаются графы. Например: mc2 состоит из 4-ёх элементов: * 0-й состоит из 2-х, которые в свою очередь больше не деляться. * 1-й - из 2-ух... И тд. |
Элементы - они же мувиклипы.
|
Совет: Опиши все это во внешнем XML, потом грузи его, разбирай дерево и по дереву отрисовывай структуру. Пример-исходник нужен?
|
Вложений: 1
Честно говоря не совсем понял что ты хочешь сделать.... и не уверен действительно ли тебе нужно именно это..
ну впринципе глянь файлик.... PS. почитай на досуге http://www.dembicki.narod.ru/tutor/a4.htm может пригодится |
А впинципе действительно Dindin прав с деревьями лучше использовать XML
|
Цитата:
пример для первой ветки var txts=new Array("папа","я","мама"); //who-переменная текстового поля в mc for(var i=0;i<txts.length;i++)_root.attachMovie("mc","mc"+i,i,{who:txts[i],_x:50*i,_y:20}); for(i=0;i<2;i++) mc0.attachMovie("mc",i,i,{who:"0_"+i,_x:50*i,_y:60}); mc0[0].attachMovie("mc",0,0,{who:"0_0_0",_x:50,_y:120}); mc0[0][0].attachMovie("mc",0,0,{who:"0_0_0_0",_x:50,_y:160}); ну и так далее |
Цитата:
|
Вложений: 1
Старый исходник где-то посеял, пришлось новый рисовать.
|
Dindin, санке!
Довно мечтал подружитьсяс XML, но даже когда PHP учил так у меня и не вышло -- не понимал я как у них "конфликт родителей и детей" решался. А тут просто МЕГА каментарии! |
| Часовой пояс GMT +4, время: 19:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.