PDA

Просмотр полной версии : Как сделать лучше?


Snut
05.11.2007, 21:36
а вот и опять я со своими вопросами.... итак к сути, есть класс который грузит и парсит хмл происходит это следующим образом есть хмл:

<content>
<site title="Сайтег 1">
<preview>image/1.jpg</preview>
<annotation><![CDATA[ <p>Описание сайтега 1</p> ]]></annotation>
</site>
<site title="Сайтег 2">
<preview>image/2.jpg</preview>
<annotation><![CDATA[ <p>Описание сайтега 2</p> ]]></annotation>
</site>
<site title="Сайтег 3">
<preview>image/3.jpg</preview>
<annotation><![CDATA[ <p>Описание сайтега 3</p> ]]></annotation>
</site>
<site title="Сайтег 4">
<preview>image/4.jpg</preview>
<annotation><![CDATA[ <p>Описание сайтега 4</p> ]]></annotation>
</site>
<site title="Сайтег 5">
<preview>image/5.jpg</preview>
<annotation><![CDATA[ <p>Описание сайтега 5</p> ]]></annotation>
</site>
</content>


класс проходит по дереву и раскидывает все это в один массив вида

private var my_array:Array = [["Сайтег 1", "image/1.jpg", "Описание сайтега 1"],["Сайтег 2", "image/2.jpg", "Описание сайтега 2"],["Сайтег 3", "image/3.jpg", "Описание сайтега 3"],["Сайтег 4", "image/4.jpg", "Описание сайтега 4"],["Сайтег 5", "image/5.jpg", "Описание сайтега 5"]];


теперь я вот думаю, создать 1 мувик и в него напихать дупликатов в каждый из которых подписать свои тексты и картинки из массива, и его уже двигать по х?

или создать несколько мувиков и в них все пихать?
если непонятно схему можно посмотреть здесь: http://www.flasher.ru/forum/showthread.php?t=103279

помогите начинающему начать думать как программер... пока плохо получается:(

etc
05.11.2007, 21:46
Создать класс-наследник MovieClip и отдавать ему определенную ноду этого XML.

Snut
05.11.2007, 21:47
__etc, тоесть его extend MovieClip и отрисовывать всякие рамочки, маски и т.п. программно?

etc
05.11.2007, 21:49
Чего и как рисовать — решает этот самый наследник.
Задача родителя — отдать каждому наследнику ноду и все.

Snut
05.11.2007, 21:50
__etc, понял, буду думать.... эххх затянулась вся эта история с портфолио, ну чтож делать - будем учиться :)

Snut
06.11.2007, 22:20
Задача родителя — отдать каждому наследнику ноду и все.

Подумал я подумал.... ну ничерта не получается даже не знаю с какой стороны подступиться, пните в нужную сторону плиз или научите...

etc
06.11.2007, 22:24
В чем именно возникла проблема?

ALiEN_
06.11.2007, 22:37
А зачем отдавать всю ноду каждому чилду? Т.е. почему именно так?

Я бы сделал по тупому - распарсил и отдал бы каждому чилду параметрами через конструктор ссылку на массив. Двигал бы родителя. Естественно ни о каких дубликатах (dublicate) речь не идет каждый мувик это экземпляр собственного класса.

Snut
06.11.2007, 22:40
__etc, в подходе.... с чего начать?

ALiEN_, тоесть мне для каждого "проекта" создавать собственный мувик и линковать? это же безумие...

ну вот что такое, сижу как овощ ничерта не понимаю, ничего не получается... мозг соображать отказывается...

fishbounce
06.11.2007, 23:42
создаешь класс, к примеру

public class SiteView extends MovieClip {

public function setData(xmlnode : XML) : void {
// здесь описываешь, как поступить с тем, что получили в аргументах:
// с xml.@title
// c xml.preview
// c xml.annotation
}

}

когда получаешь xml по сайтам, пишешь что-то вроде этого:

var sitesList : XMList = xml..site;
for each (var xmlnode : XML in sitesList) {
var siteView : SiteView = new SiteView();
siteView.setData(xmlnode);
sitesLineView.addChild(siteView);
}

где sitesLineView это уже другой класс, отвечающий за то, как у тебя мувики с проектами будут расставлены и как будут двигаться.
что-то типа такого в общем...