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

Вернуться   Форум Flasher.ru > Блоги > КорДум

Рейтинг: 4.60. Голосов: 5.

Приятное программирование: SWC + FlashDevelop (приложение)

Запись от КорДум размещена 15.12.2010 в 01:36
Обновил(-а) КорДум 16.12.2010 в 11:52

Данная статья является своего рода продолжением прошлой, но их нельзя объединить: все-таки, повествование сейчас пойдет немного о другом.

Как было сказано ранее, в swc можно поместить графику. Но это не все прелести такого библиотечного архивчика. Никогда не задумывались, как устроен swc от, скажем, greensock? Я как-то поинтересовался и даже провел соответствующие эксперименты. Может возникнуть ситуация, когда нужно поместить в swc класс или классы без графики. Ну, например, законченный фреймворк. Одним файликом транспортировать его удобнее, хотя теряется возможность чтения внутриклассовых комментариев, но этот недостаток можно компенсировать хорошей документацией, не так ли? С другой стороны, если в FD по F4 вызвать содержимое класса, там будут только все публичные свойства и методы, что облегчает их изучение и нахождение методом тыка.

Итак, у нас есть наши классы, которые мы хотим обернуть в файлик библиотеки. У нас также есть FlashIDE, она никуда не делась, да и после правильного ее применения у нас должна была зародиться некоторая симпатия к этой программе, да. И как же нам поступить, если наши классы без графики вообще? А тут мы пойдем на маленькую хитрость: создадим пустой мувиклип с совершенно произвольным классом (хоть длинный набор букв, в greensock именно так и сделано), затем создаем рядом с fla файл скрипта as, называем его как тот символьный набор, что только что дали клипу. И просто создаем приватные переменные с типизацией нужных классов.
Код AS3:
package  {
	import flash.display.MovieClip;
	import package1.Class1;
	import package2.Class2;
 
	public class abcdefghijklmnopqrstuvwxyz extends MovieClip {
		private var var1:Class1;
		private var var2:Class2;
	}
}
Компилируем, забираем swc, вставляем в проект и смотрим, что у нас внутри. А внутри как раз те самые классы, плюс ненужный класс с пустой графикой. От него не избавиться, конечно, но и из-за произвольного имени он мозолить глаза не будет. Библиотека готова.
Размещено в FlashDevelop
Комментарии 20 Отправить другу ссылку на эту запись
Всего комментариев 20

Комментарии

Старый 15.12.2010 01:48 in4core вне форума
in4core
 
Аватар для in4core
pacckage != package
Старый 15.12.2010 01:52 in4core вне форума
in4core
 
Аватар для in4core
Кордум, кстати, написал бы статью для начинающих - переходящих на flash Develop. О том как работать с программой, основные моменты, настройки и т.д. Потому, что вопервых - интерфейс программы свой, непривычный для многих поначалу, много английского ну и вообще МНОГО и МНОГО всего - того, о чем стоит рассказать начинающим пользователям. Думаю данная статья будет еще более полезна, если их объеденить с интерфейсом и основами работы - и куда нить запубликовать. вот
Старый 15.12.2010 02:05 КорДум вне форума
КорДум
 
Аватар для КорДум
Цитата:
pacckage != package
И чего? Опечатка несущественна и не влечет за собой ошибок.
Ну, можно попробовать и про интерфейс написать. Продолжение серии получится, хех.
Старый 15.12.2010 02:18 in4core вне форума
in4core
 
Аватар для in4core
Опечатку я просто указал чтобы покрасивше было написано )). А продолжении серии не надо. Надо именно все в одном сделать, пошагово - сначала и до конца. Твои 2 статьи это уже для людей работающих в FD их поидее вконец статьи надо. Вот о чем я имел ввиду. А там, как вам угодно. я просто предложил
Старый 15.12.2010 02:46 Psycho Tiger вне форума
Psycho Tiger
 
Аватар для Psycho Tiger
Я не знаю как там дела обстоят с метатегами в идехе, но стоит посмотреть про Exclude метатег.

И это... ТвинЛайт скорее всего компилировался сдк-шкой в swc, есть ключи компилятора для этого.
Старый 15.12.2010 10:01 КорДум вне форума
КорДум
 
Аватар для КорДум
Цитата:
А продолжении серии не надо. Надо именно все в одном сделать, пошагово - сначала и до конца.
Так серия-то называется "Приятное программирование", а освоение FD разве не приятное?
Если такая статья будет на самом деле полезна - напишу. Главное, чтобы не забраковали представители группы FD Team )

Psycho Tiger, да-да, про это я знаю. Но я проделал то же самое через FlashIDE, и оно получилось!
Старый 15.12.2010 11:11 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Надо именно все в одном сделать, пошагово - сначала и до конца.
Слишком много будет в одном месте. Лучше в каждой статье потом добавлять ссылки на продолжение или начало.
Старый 15.12.2010 14:34 incvizitor вне форума
incvizitor
 
Аватар для incvizitor
по мне так удобнее всего компилить SWC через флекс. ставишь галочки на всём что скомпилить надо и всё, счастье.
Старый 15.12.2010 14:37 КорДум вне форума
КорДум
 
Аватар для КорДум
А если надо еще и графику, звуки, картинки закинуть?
Старый 15.12.2010 14:39 incvizitor вне форума
incvizitor
 
Аватар для incvizitor
Я про фреймворки.
Старый 15.12.2010 17:38 gloomyBrain вне форума
gloomyBrain
 
Аватар для gloomyBrain
incvizitor, а Вы чем пользуетесь при компиляции swc? я имею ввиду - какой средой разработки? Если FD - подскажите толковый плагин =)
Старый 15.12.2010 19:11 incvizitor вне форума
incvizitor
 
Аватар для incvizitor
У меня на работе флекс билдер стоит)))
Старый 15.12.2010 22:30 КорДум вне форума
КорДум
 
Аватар для КорДум
http://www.flasher.ru/forum/blog.php?b=61
Смысла писать статью нет. Но, возможно, было бы неплохо объединить все посты про FD какой-то своей категорией.
Старый 24.01.2011 18:36 formid вне форума
formid
А на вот такой вопрос ответ найдется? Сделал свц с набором классов мувиклипов. Если просто вводить их
Код AS3:
var mc:Mc1 = new Mc1();
всё отлично работает, а если у меня из много и меняется только цифра, хотелось бы использовать функцию getDefintionByName
Код AS3:
var i:int = 10;
var exempl:Array = [];
while(i--){
   var class:Class = getDefinitionByName("Mc"+i) as Class;
   var exempl[i] = new calss();
}
такой вариант не прокатывает, как выкрутиться?
Старый 24.01.2011 19:17 КорДум вне форума
КорДум
 
Аватар для КорДум
Во-первых, нужно, чтобы где-то было упоминание об этих классах (чтобы оно вкомпилилось) или же следует вкомпилить весь SWC сразу через настройки FD. Во-вторых, у вас то class, то calss.
Старый 16.11.2012 16:37 tsarapkabel вне форума
tsarapkabel
 
Аватар для tsarapkabel
КорДум, спасибо, полезная вещь, всё получилось!
А какие есть ещё способы собрать swc библиотеку без графики? Как я понял из комментариев можно Builder'ом это сделать?
Старый 16.11.2012 16:42 in4core вне форума
in4core
 
Аватар для in4core
Цитата:
Как я понял из комментариев можно Builder'ом это сделать?
в FD плагин есть - гугл в помощзь
Старый 16.11.2012 18:20 tsarapkabel вне форума
tsarapkabel
 
Аватар для tsarapkabel
in4core, зачем ты процитировал второй вопрос, а ответ дал на первый?
Старый 16.11.2012 18:55 in4core вне форума
in4core
 
Аватар для in4core
случайно
Старый 17.11.2012 03:16 Котяра вне форума
Котяра
 
Аватар для Котяра
Раз уж всплыла эта древняя тема, то немного добавлю:
1.
Цитата:
var class:Class = getDefinitionByName("Mc"+i) as Class;
не надо использовать ключевое слово class в качестве переменной.
2. вместо
Код AS3:
private var var1:Class1;
private var var2:Class2;
можно сделать просто
Код AS3:
Class1;
Class2;
 

 


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


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