Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Библиотека SWC или [Embed(source...? (http://www.flasher.ru/forum/showthread.php?t=179197)

etc 09.05.2012 21:50

Цитата:

Сообщение от Den_root (Сообщение 1078806)
Все равно не догнал. SWC - заархивированный SWF + XML файл. Причем здесь и что такое перекомпиляция?

При том, что при его использовании она не происходит, в отличие от [Embed].

Ваш кэп.

elder_Nosferatu 10.05.2012 03:59

Изменение части или всех ресурсов (или функционала, если он зашит в SWC) влечет за собой полную перекомпиляцию библиотеки и ее повторному подключению к прожекту. Это не большая беда, если библиотека Ваша, в противном случае нужно будет заморачиваться с инструментами, использование которых на форуме не обсуждается

Добавлено через 3 минуты
С другой стороны. Если быблиотека уже полностью одобрена, тогда все, что в ней зашито не будет каждый раз ПЕРЕкомпилироваться, а только изменения в прожекте, что при многоМегаБайтных ресурсах весьма ощутимо!!!

Добавлено через 8 минут
А что касается SWF, так там вообще красота!!! Эта библиотека будет динамически подгружаемой и независимой. С одной стороны все как бы ОК и даже КРУТЬ, но работа с ресурсами таких библиотек немного сложнее. Ваша прога может только предполагать, что именно она загружает, в то время, как фаршировка SWC полностью доступна и определена

PlutDem 10.05.2012 20:53

А в SWF полюбому будет что то вроде
Код AS3:

[Embed (source="/assets/ships/1.gif" )]
 public static const SHIPS_1:Class;

А к проекту эту SWF библиотеку мы подключаем тем же Embed ?

elder_Nosferatu 10.05.2012 21:34

Не к "проекту подключаем", а подгружаем в приложение во времья выполнения (runtime)

PlutDem 10.05.2012 23:11

elder_Nosferatu
Это без прелоадера, как я понимаю? А если предположить, что приложение загрузится прелоадером, незачем подгружать библиотеки динамически, так?
P.S. Как называется конструкция в квадратных скобках, например [SWF(height="600", width="800")] ?

elder_Nosferatu 11.05.2012 00:14

Фишка не в том, что ГРУЗИТСЯ, а в том ЧТО грузится. К примеру у вас сложное приложение, которое вы наконец то написали и оно "вроде пашет"... В таких продуктах не охота что нить менять, ато вдруг чего нить не то сделается :). А заказчик ставит новую задачу: "Хочу кнопочки василькового цвета!!!" (респект Чаку Паланику и его "Бойцовскому Клубу").

Если Све скины были зашиты в SCW, тогда прийдется менять библиотечную начинку, перекомпилировать ее саму, а потом еще и приложение целиком (О нет...). А если скины подгружаются с внешней SWF-быблиотекой, тогда менять и компилировать прийдется только ее.

Это конечно далеко не все плюшки, которые предоставляет SWF-быблиотека, но и я пишу всего лиш коротенький пост, а не статью...

Пэ. Эс.: [SWF(height="600", width="800")] - мета-тег, который задает параметры флешки (в даном случае - размер).

Добавлено через 3 минуты
SWF Metadata tag

Добавлено через 5 минут
Ту же настройку можна делать и через ИДЕшки без написания кода

CEBEP 11.05.2012 02:58

Кто-нибудь дайте про подключение SWF как солянку из библиотек, хочу почитать подбробнее.
Или может пример какой-нибудь, мне пока не очень ясно как оттуда нужные классы выковыривать.

zuxul 11.05.2012 11:39

почитайте записи вот этого крутого парня

PlutDem 29.05.2012 00:05

А как у такой конструкции получить доступ к BitmapData?
Код AS3:

[Embed(source = '../../lib/background/Orange_1.png')]
public static var Orange_1:Class;

Вот так не получается:
Код AS3:

Bitmap(Background.Orange_1).bitmapData

Приходится делать так:
Код AS3:

var bit:Bitmap = new Background.Orange_1;
bit.bitmapData

Но последний способ не удобный. Для множественного использования придется где то хранить объект с BitmapData'ой и обнулять его если нету использующих его объектов. Как, например создать несколько битмап и назначить им единую BitmapData, которую импортировали?
Скажем, решили создать объект Мяч содержащий в себе импортированную битмапу. Если захотим в будущем создать еще один Мяч как назначить его битмапе ту же BitmapData, что и у первого мяча?

in4core 29.05.2012 00:19

Умные дядьки пишу так

Код AS3:

[Embed(source = '../../lib/background/Orange_1.png')] private static const Orange_1:Class;
private var bitmap:Birmap = new Orange_1() as Bitmap;
 
trace(bitmap.bitmapData)



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

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