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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.10.2016, 02:52
MiteXXX вне форума Посмотреть профиль Отправить личное сообщение для MiteXXX Найти все сообщения от MiteXXX
  № 1  
Ответить с цитированием
MiteXXX

Регистрация: Mar 2011
Сообщений: 3
По умолчанию Как уменьшить размер .fla проекта?

Давным давно, еще школьником, пилил флеш-игрушку мечты на AS3 потихоньку, потом надолго на нее забил.

Пользовался и пользуюсь Flash IDE от адоба, версия сейчас стоит CS5.5.

Сейчас решил вернуться к ее разработке, захотел пользоваться git-ом, чтобы держать репо где-нибудь и спокойно кодить из разных мест с разных устройств. Но столкнулся с такой бедой: .fla-файл пушится очень долго и печально, тк весит аж целых 40 МБ. Потом я вспомнил, что чтобы сделать прелоадер, я накидывал элементики на сцену во второй кадр, да тащил их все в библиотеку - а это куча .mp3, .wav, .png и прочих очень тяжелых вещей, которые ой как не хотелось бы включать в коммиты и вообще гитом отслеживать.

Но если во .fla-хе их удалить из библиотеки в IDE-шке, их нельзя будет просто так взять и подгрузить "на ходу" при компиляции .swf? Или можно? И желательно так, чтобы в скомпиленной флешке прелоадер работал как и прежде.
Подскажите, в каком направлении копать? Или попробовать перекатиться в какой-нибудь FlashDevelop? Но куча кода написана под IDE-ху и дерганье элементов из библиотеки...

Старый 12.10.2016, 03:14
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 2  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Чтоб уменьшить размер fla, есть множество способов. Первый из них, это сжимать графическую составляющую, то есть можно ставить высокое качество картинки и применять сглаживание, а можно уменьшить качество картинки и не применять сглаживание, или уменьшить и применять сглаживание, при этом особо большой разницы не будет. Это даёт существенное уменьшение занимаемой памяти выходящего swf. Всё это делается внутри fla.
Второй вариант. Можно подгружать любые файлы из вне, то есть создать класс-загрузчик, который вытаскивает нужные файлы из указанной директории. Таким образом, все звуки и музыку можно подгружать отдельно, они не входят в fla файл, а значит fla будет иметь меньше веса, нежели когда всё в нем загружено изначально. Таким же методом можно подгружать и всю графику. Локально или удаленно(если файлы, например загружены на сервере, но тогда должно быть подключением к интернету).
Важно понимать принцип компиляции swf, то есть ты запускаешь программу в виде swf, а не fla и в первых строках кода в идеале нужно прогружать конфигурацию для каких-либо объектов(если они есть), а также все необходимые ассеты. Таким образом, запускается прелоадер, который работает до тех пор, пока не будет загружены все данные из директорий, после чего уже идет заполнение сцены содержимым.
Цитата:
Или попробовать перекатиться в какой-нибудь FlashDevelop? Но куча кода написана под IDE-ху и дерганье элементов из библиотеки...
Я бы посоветовал fd. Он удобный, не приходится писать в кадрах, можно удобно и быстро подключать swc бибилотеки. Если код написан в кадрах и если есть понимание как был написан этот код, то перенести его в проект FD не составит труда, прежде конечно надо еще разобраться как работает fd, но после этого, для дальнейшего коддинга это сохранит уйму времени.

Старый 12.10.2016, 03:28
MiteXXX вне форума Посмотреть профиль Отправить личное сообщение для MiteXXX Найти все сообщения от MiteXXX
  № 3  
Ответить с цитированием
MiteXXX

Регистрация: Mar 2011
Сообщений: 3
Нет, написано почти все в классах отдельных, просто много где идет добавление на сцену по имени из библиотеки, например. Я понимаю, что такое .swf и .fla. Я хотел бы, чтобы в .swf-ку графика и звук запаковывались, а в проектном .fla-файле не отражались.

Можно примерчик кода небольшой? По типу чего-то такого: лежит, например, текстурка nebulaTex2.png в папке /img, сейчас точно такая же пнгшка (копия) лежит в библиотеке .fla-хи, к ней средствами IDE куда-то там в свойства приписан класс nebulaTex2, в файле которого прям чуточка сгенерированного кода. И когда я хочу этой текстуркой нарисовать какое нибудь облако, я делаю как-то так:
Код AS3:
texture.graphics.beginBitmapFill(new nebulaTex2(), mat, true, false);
texture.graphics.drawCircle(0,0,256);
texture.graphics.endFill();
на каком-нибудь шейпе или муви клипе, и прилепляю его к сцене.

Как грамотно выселить текстурку из .fla, но чтобы она при компиляции попросилась из папки /img и влезла запаковалась в .swf? Чтобы пользователю достаточно было уже просто запустить .swf-ку и играться, не имея у себя кучи папочек /img и тд.

Суть в чем: мне не важно, сколько будет весить .swf-ка, но хочу максимально облегчить .fla. Свфку всегда можно сбилдить на месте, тк графика и музыка у меня на всех устройствах и так лежит по папочкам и не меняется, а вот изменения во .fla-хе хотелось бы вовремя коммитить (если они там вообще происходят, если не трогать библиотеку и всякий богомерзкий "код на кадрах").

Старый 12.10.2016, 11:40
ALeXVoz вне форума Посмотреть профиль Отправить личное сообщение для ALeXVoz Посетить домашнюю страницу ALeXVoz Найти все сообщения от ALeXVoz
  № 4  
Ответить с цитированием
ALeXVoz
 
Аватар для ALeXVoz

Регистрация: Nov 2008
Адрес: Ukraine, Kyiv
Сообщений: 94
Отправить сообщение для ALeXVoz с помощью Skype™
В FlashDevelop-е можно прикреплять контент во время компиляции тегами Embed.
Код AS3:
[Embed("../lib/sprite.png")] private var AnimateSprite:Class;
 
var _animSprite:AnimateSprite = new AnimateSprite();
По идее сам тег компилирует флекс фреймворк и должно поддерживаться и в редакторе Flash CC. Никогда не задавался этим вопросом, если погуглить - то наверное можно что то найти.

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

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

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


 


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


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