FlexiPedia Wiki on Adobe Flex
Флэш Потрошитель - Жизнь вокруг технологииЖизнь вокруг технологии

Флэш Потрошитель этот | тот | 1.0

С 09.09.2002
  • Коллекция багов Flash
  • Ссылки для начинающего аниматора
  • Flex для PHP-разработчиков
  • Как вы используете Flash?

Поток сознания

makc3d ответил на Избранные баги Flash:

beer good. spam bad!

13 часов назад

Флэшер-аноним ответил на Избранные баги Flash:

Хотелось бы узнать, Как вы относитесь к пиву? Если положительно, то какое предпочитаете? Если отрицательно, то почему? Просто интересно...

14 часов назад

Флэшер-аноним ответил на Еще один способ заработать на играх:

прям таки тебе и скажут здесь посмотри

2 дня назад

Флэшер-аноним ответил на Нужна помощь по остановке видео и очистке памяти после него:

Напишите мне на имейл (sbnur@front.ru) - очистка памяти в флеш-плеере нетривиальная проблема и все зависит от конкретного кода - чтобы не превращать, как уже отмечалось, в форум, лучше обсудить все приватно 

3 дня назад

makc3d ответил на Еще один способ заработать на играх:

403

R05T
 

Sorry, access denied for you. You may want to:

Log in
or
Register
 

Thank you.

Test key: 1

 

3 дня назад

imset ответил на Нужна помощь по остановке видео и очистке памяти после него:

1) Спасибо всем кто ответил.

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

3) Из комментов видно, что не все понимают зачем нужен именно мувик с вложенными в его кадры анимациями. Поясняю: этот мувик обычно собирается дизайнером, который не имеет особого представления о работе AS. Дизайнеру проще сделать мувик с лейблами чем написать специальный класс. Я же использую один класс для всех подобных мувиков в котором программно обрабатываю переход от одной анимации к другой. Таким образом для всех мувиков используется один класс.

4) Знаю что использование мувиков, созданных в IDE не является хорошей практикой, но в данном случае удобен именно этот подход. К тому же если метод мувика gotoAndStop реализован и описан в официальной документации он может использоваться и должен правильно работать.

5) Если встраивание видео в мувик несет в себе какие-то сложности, об этом должно быть указано в хэлпе.

6) Теоретически наверное можно найти какое-то другое решение проблемы, но речь изначально шла о том является ли такое поведение багом, и если так - этот баг должен быть добавлен в базу Adobe.

7) Очень хотелось бы ,чтобы кто-то проверил это у себя или указал как эту проблему можно решить.

3 дня назад

Artem Brigert ответил на Нужна помощь по остановке видео и очистке памяти после него:

gotoAndStop(label);

мама роди меня обратно ...

3 дня назад

shaman4d ответил на Нужна помощь по остановке видео и очистке памяти после него:

Блог превращаетсо в форум -- пичалько.

3 дня назад

Флэшер-аноним ответил на Нужна помощь по остановке видео и очистке памяти после него:

Может попробовать аттачить и удалять мувиклипы при необходимости из библиотеки? Удалили предыдущий мувик со stage и добавили новый, который нужно проиграть.

примерно так:

var _class:Class = getDefinitionByName("nameClass") as Class;

var _mc:MovieClip = new MovieClip(new _class());

addChild(_mc);

...

removeChild(_mc);

3 дня назад

imset ответил на Нужна помощь по остановке видео и очистке памяти после него:

Спасибо за ответ. Хочу пояснить что я пробовал чтобы люди могли лучше понять суть проблемы. Сорри, если много букв. Вот код функции для переключения кадров с видео: [collapse] <code> public function playAnim(label:String):void { // проверяем есть ли такая метка в списке доступных if (labels.indexOf(label) != -1) { // если метка отличается от текущей выполняем переход if (currentLabel != label) { // "anim" - это мувик с именем "anim" и объектом Video внутри, в нем также могут находится мувики с графикой if (anim) { // стопим его, при помощи ENTER_FRAME Event с WeakReference я проверял его текущий кадр и трейс показывает что он нормально стопится anim.stop(); // удаляем его из DisplayList removeChild(anim); // проходим по всем его вложенным DisplayObject-ам while (anim.numChildren) { var vid:Video = anim.getChildAt(0) as Video; // если находим видео, пытаемся принудительно вызвать GarbageCollector if (vid) { trace(">>> FORCE GC! <<<"); try { new LocalConnection().connect('foo'); new LocalConnection().connect('foo'); } catch (e:*) {} } // удаляем все найденные DisplayObject-ы anim.removeChildAt(0); } // обнуляем автоматически созданную переменную (сам флэш иногда это не делает) anim = null; } // переходим на новый кадр с мувиком "anim" внутри которого лежит другое видео gotoAndStop(label); } } } </code> [/collapse] Странно, что без вызова GarbageCollector-а все видео продолжают висеть в памяти. Если вызывать GarbageCollector как показано в коде, то некоторые видео удаляется (исчезают трейсы от них), а некоторые продолжают висеть в памяти остановленные на одном кадре, хотя ссылок на них в коде больше нет. Хэлп от Адоб утверждает (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Video.html) что потоковое видео можно остановить соответствующими вызовами: myVid.attachCamera(null); myVid.attachNetStream(null); Про то как остановить встроенное видео нет ни слова. Хотелось бы видет простой метод dispose() как у BitmapData что какжется логичным. Хочется делать простые вещи без всяких костылей и хакерства.

3 дня назад

Более старые 
Главная

Подсказки

Советы, оптимизации, шорткаты, трюки

Есть разные проекты и разные приоритеты в разработке

в [коротких] проектах "на скору руку", с большим количеством правок, дополнений уточнений и изменений недопустимо на чем-то зацикливаться.

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

часто удается отспорить изменения, убедить что это долго и не по ТЗ, но это ведь получается не всегда.
задача сделать простую и гибкую структуру, способную к самым странным мутациям, читам, извратам и переменам.

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

но это не в моем стиле. мне нравится такой вот драйв. мне нравится искать нестандартные решения в ограниченные сроки.

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

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

это не значит что я не стремлюсь писать красивый и изящный код. стремлюсь конечно. 
просто я знаю что в нужный момент нужно засунуть свой перфекционизм в жопу и сделать клиента счастливым, хотя бы наполовину.

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

но чит будет вставлен так, что ничего не развалится.

хотя, у меня, обычно, к концу проекта создается ощущение что проект держится на соплях и – чихни – он развалится. страшно дописать строчку. но, пока, держатся. а потом закрываются и забываются. 

проекты, о которых не можешь рассказать (из-за NDA) или не успеваешь, потому что проект уже закрылся, сменился на другое промо.

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

хотя, конечно, хочется все забекапить, на всякий случай.
у меня никогда не было своего фрейморка, набора классов.
я не использовала и не использую чужие фреймворки.
я могу потерять все свои файлы и наработки. и начать с чистого листа.
главное чтобы в этот момент не было проектов в разработке.

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

[почему это не было опубликовано ранее:]

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

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

Писала Татьяна 0xFFFFFF Белая. Орфоргафия и пунктуация сохранены.

  • 0xFFFFFF
  • Литературные произведения потрошетелей
  • Повышение производительности
  • Подсказки
- 0xFFFFFF, вс, 26/06/2011 - 11:20
  • Блог пользователя 0xFFFFFF
  • Комментировать
  • Цитата
  • В Жуйк

Конвертирование Flash-анимации в видео для HTML5 (инструкция для простых смертных)

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

Процесс работы крупным планом

Если нужно превратить флэш-анимацию в видео для проигрывания средствами HTML5 во всех браузерах и устройствах, включая iPhone и iPad, то подойдет следующий (на первый взгляд кажущийся сложным, но на самом деле - не такой уж и сложный) процесс. Если у вас есть вопросы по конкретным шагам - спрашивайте:

  • Создать анимацию во Flash, разместив ее в корне таймлайна, не используя вложенных анимаций. Звуковая дорожка - тоже в корне.
  • Экспортировать анимацию в формат несжатого AVI.
  • С помощью Virtual Dub cжать AVI-файл, используя компрессор ffdshow.
  • С помощью Adobe Media Encoder конвертировать AVI-видео в формат mp4.
  • С помощью VLC конвертировапть AVI-видео в формат webM.
  • С помощью ffmpeg2theora конвертировапть видео в формат ogg (ogv).
  • Соединить все файлы в одной html-странице, воспользовавшись шаблоном:

Образец HTML-кода для встраивания видео

<video class="video-js" width="680" height="100" autoplay onended="onVideoEnded()">
  <source src="procterandgamble.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
  <source src="procterandgamble.webm" type='video/webm; codecs="vp8, vorbis"' />
  <source src="procterandgamble.ogv" type='video/ogg; codecs="theora, vorbis"' />
</video>

Важно: поддержка на сервере

Не забудьте добавить на сервер файл .htaccess с кодом описания mime-типов для видео:

AddType video/ogg .ogv .ogg
AddType video/mp4 .mp4
AddType video/x-m4v .m4v

Если вы не сделаете этого, то браузер может отказать вам в проигрывании видео. Со временем такие настройки типов появятся в конфигурациях серверов по умолчанию - а пока вам нужно позаботиться об этом самим, ведь вы - среди первых! А быть первым всегда немного труднее, но в перспективе это лучше.

Инструменты кодирования в видео-форматы, совместимые с html5:

  1. Adobe Media Encoder (для mp4)
  2. ffmpeg2theora (для ogg)
  3. VLC (для webM)

Почему все так сложно?

  • Видео в HTML5
  • Подсказки
  • работа с видео
- Rost, ср, 15/06/2011 - 20:32
  • Блог пользователя Rost
  • 11 комментариев
  • Подробнее
  • Цитата
  • В Жуйк

Первое правило комментирования вакансий

Комментируйте чужие вакансии так, как вы хотели бы, чтобы другие комментировали ваши вакансии.

Если вы думаете, что это правило - не для вас, то знайте, что по статистике, из десяти человек, комментирующих чужие вакансии, восемь - публикуют свои собственные. Не стоит пренебрегать этим правилом.

Другими словами: Земля - круглая.

  • Подсказки
  • Правила публикации
- Rost, чт, 19/05/2011 - 15:39
  • Блог пользователя Rost
  • 20 комментариев
  • Цитата
  • В Жуйк

Как отлаживать поступающие с сервера файлы, не имея возможности редактировать их

Ситуация: в процессе отладки вам нужно изменить получаемый браузером с сервера файлы, но вы не имеете доступа к их редактированию на сервере.

Такое бывает. Например, В выполняемых индийскими компаниями крупных веб-проектах, когда размер команды измеряется десятками людей, ответственности и полномочия разработчиков строго разграничены и изменяются менеджерами крайне неохотно - для них стабильность стоит выше любых других приоритетов. Поэтому не все участники команды имеют доступ к репозиторию исходного кода и серверу. Ведущий проект опытный индийский разработчик(и) с особой осторожностью подпускает новичков к исходному коду, предпочитая вручную переносить в код изменения, предлагаемые членами команды, не имеющими доступа в репозиторий. А вам нужно всего лишь поэкспериментировать с парой строк в коде - но вы не имеете прав.

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

Для успешного разрешения таких проблем можно воспользоваться функцией "Map local..." Сниффера Charles Proxy - читаем дальше:

  • Отладка приложений
  • Повышение производительности
  • Подсказки
- Rost, пт, 13/05/2011 - 12:58
  • Блог пользователя Rost
  • 12 комментариев
  • Подробнее
  • Цитата
  • В Жуйк

Укрощение многоязычной клавиатуры для случая с тремя языками ввода

Нам, неамериканским компьютещикам, надо держать на компе минимум две раскладки: английскую и русскую, и переключаться между ними. Часто к двум раскладкам добавляется третья, например, украинская. Тогда жизнь может превращаться в клавиатурный ад. Мы путаемся между этими тремя раскладками. Вводим латиницу там, где нужна кириллица - и наоборот. Или - украинский язік там, где нужен русский. Это ужасно.

Для преодоления этой старой проблемы придумывали даже спец. софт - например, Punto Switcher, но он неидеален, к тому же - это еще одна программа на компе. Он хорош, но не всегда работает так, как ждешь - например, не разбирается в программировании, и приходится настраивать исключения. Это уже слишком сложно. Я бы хотел сам контролировать, что и когда переключать, и хотел бы делать это просто, что в случае с тремя языками нелегко. Хочется правильных шорткатов, и ОС дает нам их, но не все их используют. И на Маке, и на Винде есть средства - и о них ниже: как настроить переключение клавиатуры:

  • Повышение производительности
  • Подсказки
- Rost, вт, 12/04/2011 - 15:30
  • Блог пользователя Rost
  • 11 комментариев
  • Подробнее
  • Цитата
  • В Жуйк

Как быстро сохранить из фотошопа миллион вариаций одного файла

Ситуация: ваши неугомонные дизайнеры придумали цветовое кодирование для каждого раздела огромного сайта, это очень нравится заказчику, и теперь нужно изготовить для каждого такого раздела много картинок, адаптированных под конкретный цветовой код раздела. Эти картинки отличаются только цветом определенного слоя - но картинок много, сто штук и больше. И время от времени все сто картинок нужно переделывать - логотип еще меняется, а сайт уже живой - как обычно в вебдваноле. Даже первая переделка может показаться бессмысленной и утомительной.

В такой ситуации важно запрограммировать фотошоп на генерирование нужного кол-ва картинок в автоматическом режиме. И если вас попросят переделать все сто - вы будете иметь меньше работы, а фотошоп - больше. К счастью, в фотошоп встроена неплохая поддержка скриптования и даже специальный отладчик, это называется ExtendScript Toolkit, есть и документация.

Ниже показан скрипт, в цикле изменяющий цвет выбранного в фотошопе слоя и сохраняющий результат в файле с именем заданного формата.

  • photoshop
  • Автоматизация
  • Повышение производительности
  • Подсказки
- Rost, чт, 24/03/2011 - 15:56
  • Блог пользователя Rost
  • 34 комментария
  • Подробнее
  • Цитата
  • В Жуйк

Потрошение сломавшейся Win 7 на ноутбуке

Пару недель назад на моем ноуте перестала загружаться Windows 7, так при плотном рабочем графике я потерял свою машину. На самом деле, система довольно плавно умирала на протяжении двух недель, и мне следовало принять меры раньше, но - вышеупомянутый плотный график и надежда на лучшее сыграли со мной дурную шутку. Этапы умирания системы: сначала стала загружаться очень медленно, потом через раз, потом каждый третий раз, потом - каждый десятый и т.д., а закончилось все регулярным появлением ярко-синего экрана с сообщением "UNMOUNTABLE_BOOT_DEVICE", код ошибки 0x000000b7. Поиск по этой ошибке в сети часто выдает страницы периода кривой Висты: когда пользователи хотели снести на своих ноутах Висту и установить Windows XP, они часто получали эту ошибку, свидетельствующую о том, что их система XP не находит спец-раздела (связано с AHCI) на винчестере ноутбука, предназначенного для загрузки. Но я не пытался ставить XP, мне нравится Win 7. Все выглядело очень странно!

О том, как все починилось - читайте в продолжении поста.

  • Железо
  • Подсказки
- Rost, сб, 19/03/2011 - 20:00
  • Блог пользователя Rost
  • 12 комментариев
  • Подробнее
  • В Жуйк

Как найти и (частично) восстановить потерявшийся FLA-файл

Я потерял FLA-файл, над которым работал целый день. Как это получилось? Файл был большой и Flash CS5 не смог его полностью сохранить, выдав при этом ошибку о нехватке памяти. В итоге, вместо файла мегабайтного размера я получил FLA-файл на тридцать килобайт и вопрос - что теперь с этим делать?

Нужно найти временный файл проекта

Нахожу файл под именем "c:\Users\[username]\AppData\Local\Adobe\Flash CS5\en_US\Configuration\[abrakadabra].fla". Вывод: под Win7 Flash CS5 хранит временные файлы проекта в каталоге
"c:\Users\[username]\AppData\Local\Adobe\Flash CS5\en_US\Configuration\"
(а на WinXP: "C:\Documents and Settings\[username]\Local Settings\Application Data\Adobe\Flash CS5\en_US\Configuration\")

Обнаружение временного файла помогает хотя бы частично восстановить работу, и еще раз напоминает: создавайте резервные версии FLA-файла перед любым существенным изменением.

Но при попытке открыть такой временный файл может возникнуть сообщение об ошибке "Unexpected File Format". Значит, придется залезть внутрь файла и кое-что поправить, чтобы Flash CS5 смог открыть его. Как это сделать, описано во второй части предыдущего поста на тему багов Flash CS5 при работе с файлами, но в данном случае проблема может быть в другом - например, при сохранении Flash не смог целиком сформировать архив (ведь было сообщение о нехватке памяти) или файл был сохранен с ошибками по другой причине.

Как мы уже знаем, начиная с версии Flash CS5 исходник FLA-файла - это не бинарный монолитный файл, как было раньше, а архив, который можно распаковать и обнаружить внутри реальное содержимое FLA в виде файлов. Попытаемся открыть этот сохраненный Flash временный файл как архив, изменив расширение файла на ZIP и распаковав его. Внутри обнаружим стандартную для FLA-исходника структуру файлов и каталогов, где в корне находится файл с расширением XFL и именем, совпадающим с именем файла исходника. Открываем этот XFL-файл двойным кликом, запускается Flash CS5 и проект открывается во флэше. Значит, не все еще потеряно.

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

В судьбе FLA-файлов бывают и более изощренные неприятности, о которых мы еще напишем.

  • Flash CS5 Bugs
  • Подсказки
- Rost, вт, 08/02/2011 - 15:07
  • Блог пользователя Rost
  • 9 комментариев
  • В Жуйк

[TODO] Как восстановить исходник FLA-файла, если случилась беда и Flash CS5 запорол его

Это - незавершенная статья, но в ней содержатся все необходимые ссылки.

Проблема: пустой тэг <frame/> в XML-файле.
http://blog.jasperstocker.com/?p=150

ETX (End of Text) character
http://www.sosuke.com/index.php/2010/08/11/flash-cannot-parse-this-docum...

Проблема с поддержкой Юникода
http://forums.adobe.com/message/3028760#3028760

Ручная помощь
http://thomastalkstech.com/blog1.php/flash-cs5-s-nasty-bug-flash-can-not...

Обсудить
http://forums.adobe.com/thread/638346

Жаловаться
http://forums.adobe.com/thread/649242

  • Flash CS5 Bugs
  • todo
  • Подсказки
- Rost, вс, 06/02/2011 - 14:14
  • Блог пользователя Rost
  • В Жуйк

/* Закомментированные хитрости */

Пишет Dan:
Счастливые родители:

// - однострочный комментарий, компилятор игнорирует все остальные символы до конца строки
/* - начало многострочного комментария, компилятор игнорирует все символы пока не встретится
*/ - конец многострочного комментария

Разномастные дети:

//* - однострочный комментарий, который можно превратить в начало многострочного удалением одного слеша
/**/ - безопасный конец многострочного комментария: даже если не было начала, то не будет ошибки компиляции
/*/ - или начало, или конец многострочного комментария, по обстоятельствам

Под катом - как этим можно пользоваться

  • Кодирование Actionscript
  • Комментирование кода
  • Подсказки
  • скобки
  • хитрости
- Dan, пн, 31/01/2011 - 09:09
  • Блог пользователя Dan
  • 12 комментариев
  • Подробнее
  • В Жуйк
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • следующая ›
  • последняя »
Примечания: Статус документа => в процессе ·
Статьи · Идеальный клип · Персоналии · Глоссарий (уст.) · Что делать? · К началу ↑
© 2002-2012 Ростиславр · О проекте · Подписка на RSS · α-тестировани невероятного
]]>
]]>
Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Регистрация
  • Запросить новый пароль