PDA

Просмотр полной версии : Правильная организация проекта с постепенной подгрузкой


dvrbear
25.09.2013, 15:59
Приветствую!
В большей части тем описываются решения для каждой мелкой задачи, а вот с чего начать и как грамотно организовать изначально большой проект пока не наткнулся. Если проморгал и повторяюсь - то заранее извиняюсь.

Мысли немного путаются, поэтому по порядку:
- Есть проект Flash Builder - под web;
- В него планирую по мере надобности подгружать, графику, звук, шрифты...
- Графику думается через SWC загонять, звук подгружать из внешних файлов, а шрифты через Embed;

Со звуком както понятно - когда надо - запросил, подгрузил, отследил загрузку, проиграл
А вот как правильно организовать графику со шрифтами, чтоб они по мере надобности загружались в проект?

Ведь импорт библиотеки, означает загрузку сразу всей находящейся там графики, а постепенно грузить можно лишь SWF и пока не уверен, получится ли управлять (ей SWF) изнутри.

Вообщем, если не сложно, растолкуйте в кратце, как вы обычно поступаете и на что мне следует обратить внимание?

Tails
25.09.2013, 16:19
Потому-что планирование архитектуры - дело сугубо индивидуальное.
Разбейте ваши вопросы на несколько составных, тогда и вам и другим проще будет. Например - вопрос 1: Подгрузка графики, вопрос 2:Подгрузка звука (цели и задачи) и т.д.

Для внешних файлов - однозначно понадобиться конфигурационный файл, да и не только для внешних загрузок. Сперва опишите для себя шаблон такого файла, например в xml формате. В нём будете указывать что, откуда и в каких количествах загружать и другие внутренние настройки программы.

Внешние ресурсы вы можете подгружать в виде SWF файлов, в которых будут необходимые вам классы данных. Например SWF файл, с классом визуализатором бегущей строки. (В книге Мука описывается этот приём).

пс. Архитектуру для решения больших задач, можно почитать тут: MVC и сиськи (http://flasher.ru/forum/blog.php?b=256)
А вообще, любая большая задача состоит из многих - более мелких подзадач.

dvrbear
25.09.2013, 16:48
@ Внешние ресурсы вы можете подгружать в виде SWF файлов, в которых будут необходимые вам классы данных. @

Думаю это и есть ответ на мой вопрос. Ведь если можно достучаться до классов находящихся в библиотеке загружаемого swf, то туда можно засунуть любой MovieClip, шрифт или даже звук - я правильно понял?

кстати для этого они не просто в библиотеке должны висеть, но и находиться гденибудь на сцене, чтоб IDE их скомпилировал в SWF ?

Tails
25.09.2013, 17:05
Если вы уж собрались делать что-то серьёзное, то и переходить нужно на что-то более удобное для написания кода. Flash IDE для этого подходит меньше всего.

Думаю это и есть ответ на мой вопрос. Ведь если можно достучаться до классов находящихся в библиотеке загружаемого swf, то туда можно засунуть любой MovieClip, шрифт или даже звук - я правильно понял?
Да правильно.

кстати для этого они не просто в библиотеке должны висеть, но и находиться гденибудь на сцене, чтоб IDE их скомпилировал в SWF ?
Для того, что-бы в IDE класс из библиотеки был вкомпилирован в SWF, он должен где-то использоваться. Ещё в библиотеке можно установить любому объекту галку - "обязательный импорт в 1 кадре".

dvrbear
25.09.2013, 17:18
Отлично, значит:
1. Леплю все что мне нужно в библиотеку, ставлю галочку на "первый кадр"
2. Даю названия классам - при этом ide "матернется" и я ему временно подсуну пустые *.as классы
3. Компилирую swf...
А дальше ???

Вроде наткнулся на то что swf полюбому должен работать в паре с swc

Если не сложно опишите дальнейшие действия после пункта 3, и то как внедрить в проект Falsh Builder'a

p.s. - от IDE после AS2 какразтаки и хочу отойти, работать в Flash Builder и IDE использовать исключительно для таких вот модулей.

Добавлено через 41 минуту
Давайте для удобства раскрытия вопроса я попробую привести мелкий пример.

Задача - в (основную флешку) Main загрузить MyLib.swf, содержащий в библиотеке MovieClip с именем класса Car внутри которого есть instance "door" с анимацией открытия двери. Требуется сделать три копии Car и обратившись к ним заставить открыть двери ( ...door.gotoAndPlay('open'); )

vorodis2
25.09.2013, 18:08
-Я когда начинаю большой проект, беру A4(10 штук) и блок схемами ресую весь проект, потом переписываю на 9лист, потом 8 лист и к 1 листу вижу отличную архитектуру приложения. И когда кодю очень стараюсь предерживаться изначального плана)))
из загруженного swf можно выдрать любой класс, но я пользуюсь swc так как его классы всегда есть(не находятся в состоянии загрузки). Зато у swf можно узнать о существовании скажем классов "Klass_0"=(граф), "Klass_1"=(граф), "Klass_2"=(null)( на что swc завлит приложение если такового нет) И на базе этого получаеться можно визуализировать все графику вашего преложения.

dvrbear
25.09.2013, 18:18
Вы большой молодец и вы все правильно делаете, поверьте я также как и многие другие вручную малюю на листах.... Но речь немного не об этом. Вот вы заикнулись о SWC и я точно также их полдключаю в проект, но задался вопросом о правильности подхода. И пускай с какойто стороны это покажеться нелогичным но всетаки на примере кода и инструкций к последовательным шагам - опишите как решить мою задачу.

Я пока плохо ориентируюсь в новой для меня среде и на мелких уроках мало что уловить могу, имено поэтому еще ни одного серьезного проекта не начал на AS3 и Flash Builder - помогите соскочить уже наконец с AS2. Лишь разбирая чужой пример способен чтолибо осознать, так как на пальцах и советах почистить зубы перед работой ))) сложно чему либо научиться...

Спасибо что терпите меня и отвечаете на мои вопросы )))

* Почему еще не приветствую SWC в своем вопросе? Потому как рассчитываю что будет много графики которая много весит и грузить ее нужно будет частями (просто загрузка картинки не подойдет). Графика = набор кучи растра который объединен и анимитрован для каждого конкретного случая. Потому и пихать все в один SWC и импортировать его в общий проект изначально - НЕЛЬЗЯ!!!

Tails
25.09.2013, 18:46
1 библиотека (.fla) = 1 swf
swc - нужен для разработчика на этапе разработки, когда вы пишете код и затем его компилируете.
подгружаемый swf с классами - нужен на этапе выполнения, когда программе может понадобиться доп. функционал без пересобирания основного проекта.
делать в IDE что-то, сложнее баннера - плохое начало.


Так-как вы сами говорите, что опыта у вас мало, браться за большой проект попросту не разумно. Нормально сделать подгрузку классов из swf вы не сможете, как и закончить большой проект.
Сейчас вам нужно учиться и учиться, того-же Мука прочитать вдумчиво, для начала.

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

dvrbear
25.09.2013, 18:58
ОК, конкретные вопросы:
1. Как правильно опубликовать один SWF с одним классом в библиотеке?
(Ну это понятно. создали в библиотеке IDE какойнибудь символ, выбрали в свойствах имя класса и экспорт в первй кадр)

2. Как правильно его загрузить в основной проект?
3. Как правильно обратиться к его классу?

Только если можно на примере кода.

Поверьте Мука читал и при помощи импорта SWC с графикой все у меня получается, ну не полный я нуб, просто нуждаюсь в правильном толчке...