Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.02.2009, 11:26
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 11  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
возможно кому пригодится такой расклад (меня пока полностью устраивает):
IDE при компиляции "не видит" классов проекта, т.е. ей в качестве Source path указываем на "левую" папку
в этой папке и храним классы, описывающие свойства/логику объектов, которые попадут в SWC

FD-шный же проект в свою очередь не видит этой папки и тянет уже скомпиленные классы их SWC
если классы IDE-шных объектов должны взаимодействовать с классами основного проекта, то сложнее, но тоже есть варианты, хотя это неверный подход изначально и лучше его избегать

в аттаче вариант для примера marat_sa

ps. у меня вся эта структура изначально забита в дефолтовый AS3-шный темплет, чтоб не заморачиваться всякий раз созданием
Вложения
Тип файла: rar test.rar (282.5 Кб, 110 просмотров)

Старый 01.02.2009, 16:14
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 12  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
2 silin
Спасибо, я тоже пришел к выводу (после проб и ошибок), что классы мы прописываем и привязываем для SWC, а SWC, в свою очередь привязываем к пректу. Получаем класс с ассоциированным с ним элементом библиотеки (при компиляции без входного swf-файла у нас и библиотеки-то нет).
Просто испугался, думал я что-то не так делал))

Старый 01.02.2009, 21:22
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 13  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Спасибо всем за советы.

На все вопросы в предыдущем своем посте я получил утвердительные ответы путем экспериментов.

Вообщем моя схема примерно такая:

1. Создаем пустой мувиклип и задаем ему Linkage name (например mcMain_background)
2. Размещаем все необходимые элементы соответсвенно дизану в этом клипе и прописываем им instance name. Можно настроить и анимацию переходов между кадрами/разделами, вообщем любая привычная схема по таймлайну пройдет.
2.1 Таки образом можно собрать все необходимые елементы интерфейса и потом добавлять их на сцену программно по необходимости.
3. Размещаем этот мувик на сцене как Guide Layer, для удобного редактирования Вам или дизайнеру (в кончный swf и SWC он не попадет)
4. Подключаем Document Class к флешке
5. В настройках экспорта галочку на Export SWC.
6. Снимаем галочку с "Automatically declare stage instances".

В FlashDevelop правой кнопкой на SWC и "Add To Library"
Теперь у нас доступны все мувиклипы с Linkage ID, и автокомплит для клипов с instance name (внутри главного клипа в том числе).

И проект компилируется и в Flash IDE и в FlashDevelop (т.к не все знают о существовании и основ работы с FlashDevelop), это хорошая альтернатива и универсальность.


Вообщем всем спасибо. Пока все вопросы по этой теме у меня отпали.
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 01.02.2009 в 21:27.
Старый 02.02.2009, 09:13
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 14  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Во Flash CS4 в настройках проекта появилась возможность подключать внешние SWC-файлы и работать с ними как с внешними библиотеками.
То есть это как бы как в механизм AuthorSharingLibrary?
Мы можем, допустим, в нашем проекте сделать кнопку в button.SWC файле, а потом при создании нескольких игровых экранов, везде подключить button.SWC с кнопкой. Т.е. фактически кнопка у нас будет одна, а при публикации основного SWF файла она подтянется во все наши SWC из своего исходного файла button.SWC, без дублирования символа и без каких-либо осложнений.

Подскажите, как настроить подключение внешних SWC во Flash CS4? Там вкладки:
SourcePath, Library Path, External Library Path, Config Constans, что куда прописать?

Старый 02.02.2009, 11:12
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 15  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
можно со словарём посидеть минутку... вдруг на идеи на всякие натолкнёт...

Старый 02.02.2009, 12:39
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 16  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
silin, Mur4ik, marat_sa,

я ничего не упускаю? почти при каждом изменении кода вы компилируете аж два раза? один раз во Flash IDE для создания swc, потом флексовым компилятором из-под FD?

если так - зачем?? это же 1) неудобно. по два раза, в разных местах. 2) какой толк от компиляции mxmlc'ом? выйгрыша скорости нет. и как там подебажить, если пол-проекта уже скомпилировано

Старый 02.02.2009, 13:05
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 17  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
2 BlooDHounD, я прописывал пути в проекте и до папки с SWC и файлы сами указывал, но почему-то в проекте они не появлялись, reload делал в панели components... Ничего не получилось((( Просто хотел спросить, как правильно? Может я чего не то делаю?

2 fljot, а как еще можно? В IDE рисуется, собственно, вся графика, ассоциируется с соответствующим классом, компилиться в SWC. Потом уже, в основном проекте, подцепляем полученную SWС и юзаем ее классы. Может можно проще? Подскажите :-)


Последний раз редактировалось marat_sa; 02.02.2009 в 13:09.
Старый 02.02.2009, 13:31
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 18  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
fljot, если меняется IDE-шная часть, то конечно перекомпилять ее надо, но меняется она редко, если основная разработка в FD..
насчет выигрыша в скорости ты заблуждаешься - есть и приличный (плюс не приходится перекомпилировать уже скомпиленную часть)


Последний раз редактировалось silin; 02.02.2009 в 13:36.
Старый 02.02.2009, 13:36
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 19  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
marat_sa,

я во Flash IDE компилирую графику. абсолютно без кода. и потом пользуюсь дериктивой Embed

скажем, есть у нас какой-то контейнер хедер. в нём несколько нарисованных кнопок. во Flash IDE делаем клип Header, выставляем ему linkage Header. в нём несколько кнопок(скажем, с одинаковым функционалом) c линкеджами Section1Button, Section2Button... и instance names btn1, btn2... компилируем swf один раз, больше не нужно. закрываем Flash IDE нафик)

далее примерно следующее:
Код AS3:
[Embed(source="assets/lib.swf#Header")]
public class Header extends Sprite
{
    //нужно явно объявить классы кнопок, чтобы компилятор их подхватил
    public var btn1:Section1Button;
    public var btn2:Section2Button;
 
    public function Header()
    {
        super();
    }
 
    // любая логика
}
 
 
 
[Embed(source="assets/lib.swf#Section1Button")]
public class Section1Button extends AbstractButton
{
    public function Section1Button()
    {
        super();
    }
}
 
[Embed(source="assets/lib.swf#Section2Button")]
public class Section2Button extends AbstractButton
{
    public function Section1Button()
    {
        super();
    }
}
 
 
public class AbstractButton extends Sprite
{
//здесь любая логика. кнопки, расширяющие этот класс унаследуют логику и будут иметь свой вид... аналогия указывания BaseClass в Flash IDE
}



silin,

про выйгрыш я имел ввиду при компиляции в двух местах.


Последний раз редактировалось fljot; 02.02.2009 в 13:39.
Старый 02.02.2009, 14:21
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 20  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
marat_sa
эм насколько мне известно swc для этого и делаются что бы один компонент можно было импортировать а создать уже в разных местах не ограниченным количество
или я щас не об этом ?

что касается fljot, ну если вы не можете в FD ,отдебажить то это не говрит что у всех так, ... есть Alcon, есть еще куча всего, ... у меня все дебажится и работает на ура, единственно парит конечно перекомпилировать swc ,в flash IDE но это мелочи по сравнению с редактором кода в flash IDE ... да и кстате FD компилирует то, только измененую область ... так что не понятна ваша мысль про медленее ...
__________________
на каком языке вы пишите?
а на каком нужно?

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.