14 часов назадХотелось бы узнать, Как вы относитесь к пиву? Если положительно, то какое предпочитаете? Если отрицательно, то почему? Просто интересно...
2 дня назадпрям таки тебе и скажут здесь посмотри
3 дня назадНапишите мне на имейл (sbnur@front.ru) - очистка памяти в флеш-плеере нетривиальная проблема и все зависит от конкретного кода - чтобы не превращать, как уже отмечалось, в форум, лучше обсудить все приватно
3 дня назад1) Спасибо всем кто ответил.
2) Чтобы блог действительно не превращался в форум хотелось бы видет более обоснованные ответы, приводите пожалуйста доводы доказывающие вашу точку зрения.
3) Из комментов видно, что не все понимают зачем нужен именно мувик с вложенными в его кадры анимациями. Поясняю: этот мувик обычно собирается дизайнером, который не имеет особого представления о работе AS. Дизайнеру проще сделать мувик с лейблами чем написать специальный класс. Я же использую один класс для всех подобных мувиков в котором программно обрабатываю переход от одной анимации к другой. Таким образом для всех мувиков используется один класс.
4) Знаю что использование мувиков, созданных в IDE не является хорошей практикой, но в данном случае удобен именно этот подход. К тому же если метод мувика gotoAndStop реализован и описан в официальной документации он может использоваться и должен правильно работать.
5) Если встраивание видео в мувик несет в себе какие-то сложности, об этом должно быть указано в хэлпе.
6) Теоретически наверное можно найти какое-то другое решение проблемы, но речь изначально шла о том является ли такое поведение багом, и если так - этот баг должен быть добавлен в базу Adobe.
7) Очень хотелось бы ,чтобы кто-то проверил это у себя или указал как эту проблему можно решить.
3 дня назадgotoAndStop(label);
мама роди меня обратно ...
3 дня назадБлог превращаетсо в форум -- пичалько.
3 дня назадМожет попробовать аттачить и удалять мувиклипы при необходимости из библиотеки? Удалили предыдущий мувик со stage и добавили новый, который нужно проиграть.
примерно так:
var _class:Class = getDefinitionByName("nameClass") as Class;
var _mc:MovieClip = new MovieClip(new _class());
addChild(_mc);
...
removeChild(_mc);
3 дня назадСпасибо за ответ. Хочу пояснить что я пробовал чтобы люди могли лучше понять суть проблемы. Сорри, если много букв. Вот код функции для переключения кадров с видео: [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 что какжется логичным. Хочется делать простые вещи без всяких костылей и хакерства.
в [коротких] проектах "на скору руку", с большим количеством правок, дополнений уточнений и изменений недопустимо на чем-то зацикливаться.
нельзя углубляться в изучение фреймворков, исследования, написания монстров. все должно быть быстро, четко и легко меняемо.
часто удается отспорить изменения, убедить что это долго и не по ТЗ, но это ведь получается не всегда.
задача сделать простую и гибкую структуру, способную к самым странным мутациям, читам, извратам и переменам.
чистота кода отходит на второй план. красота кода меняется. читерство становится исскуством.
быстро и изящно вставить чит, зная свою систему, так чтобы и ничего не сломалось, и что-то новое заработало.
и не забывая предыдущий чит, сверху положить еще один и еще другой.
конечно, кому-то здорово здорово работать по четкому ТЗ, сидеть и писать документированный код, просто сидеть и работать.
но это не в моем стиле. мне нравится такой вот драйв. мне нравится искать нестандартные решения в ограниченные сроки.
мне нравится думать что я могу правильно расставить приоритеты. иногда вставить картинку, вместо функционала, чтобы заказчик подумал что все работает, хотя оно только делает вид. сделать много маленьких правок, вместо одной большой.
сделать какую-то вещь наполовину, а потому сослаться на глюки и необходимости доработки.
ведь моя работы не писать красивый код для заказчика. моя работа - результат. я продаю не исходники, а бегающие по экрану картинки, нажимающиеся кнопочки.
это не значит что я не стремлюсь писать красивый и изящный код. стремлюсь конечно.
просто я знаю что в нужный момент нужно засунуть свой перфекционизм в жопу и сделать клиента счастливым, хотя бы наполовину.
а если вдруг выдастся время и удастся выделить какие-то вещи, переходящие из проекта в проект (а в хрено-промо-проектах это не так просто),
то конечно можно поразвлечь себя написанием красивого кода. стильно, хорошо написанного кода... в который потом будет вставлен чит, еще чит, и еще чит.
но чит будет вставлен так, что ничего не развалится.
хотя, у меня, обычно, к концу проекта создается ощущение что проект держится на соплях и – чихни – он развалится. страшно дописать строчку. но, пока, держатся. а потом закрываются и забываются.
проекты, о которых не можешь рассказать (из-за NDA) или не успеваешь, потому что проект уже закрылся, сменился на другое промо.
мне не жалко. я учу себя не жалеть о том что прошло и безвозвратно потеряно.
действительно достойные вещи и идеи не умирают. они всегда с собой, они остаются в голове.
хотя, конечно, хочется все забекапить, на всякий случай.
у меня никогда не было своего фрейморка, набора классов.
я не использовала и не использую чужие фреймворки.
я могу потерять все свои файлы и наработки. и начать с чистого листа.
главное чтобы в этот момент не было проектов в разработке.
уже теряла. с первыми потерями было очень тяжело смириться. на это ушло несколько лет.
теперь я даже радуюсь таким потерям. они меня освобождают.
от вещей, которые я все собираюсь, собираюсь, но никак не могу доделать, закончить, прочитать, посмотреть.
и, скорее всего, никогда и не соберусь. еще какое-то время жалею о них, потом забываю, отпускаю.
или делаю что-нибудь новое с этой же идеей. но уже другое, новое.
я думаю умение печатать на клавиатуре - это искусство.
умение печатать вслепую - достойно уважения.
но не только по-этому.
ведь так удобно набирать текст, не задумываясь где буква.
поэтому у меня получаются такие длинные тексты. я сразу же записываю свои мысли.
все что приходит в голову. я не думаю над текстом. я его пишу.
может быть поэтому у меня не получаются статьи. над ними ведь нужно думать, взвешивать каждое слово.
а мне нравится просто набирать то, что приходит в голову.
Писала Татьяна 0xFFFFFF Белая. Орфоргафия и пунктуация сохранены.
Наступает день, и старый клиент просит вас изготовить для него видео в формате html5, используя флэш как инструмент анимации. "Почему бы и нет, что в этом сложного?" - думаете вы. И начинается.
Если нужно превратить флэш-анимацию в видео для проигрывания средствами HTML5 во всех браузерах и устройствах, включая iPhone и iPad, то подойдет следующий (на первый взгляд кажущийся сложным, но на самом деле - не такой уж и сложный) процесс. Если у вас есть вопросы по конкретным шагам - спрашивайте:
<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
Если вы не сделаете этого, то браузер может отказать вам в проигрывании видео. Со временем такие настройки типов появятся в конфигурациях серверов по умолчанию - а пока вам нужно позаботиться об этом самим, ведь вы - среди первых! А быть первым всегда немного труднее, но в перспективе это лучше.
Комментируйте чужие вакансии так, как вы хотели бы, чтобы другие комментировали ваши вакансии.
Если вы думаете, что это правило - не для вас, то знайте, что по статистике, из десяти человек, комментирующих чужие вакансии, восемь - публикуют свои собственные. Не стоит пренебрегать этим правилом.
Другими словами: Земля - круглая.
Ситуация: в процессе отладки вам нужно изменить получаемый браузером с сервера файлы, но вы не имеете доступа к их редактированию на сервере.
Такое бывает. Например, В выполняемых индийскими компаниями крупных веб-проектах, когда размер команды измеряется десятками людей, ответственности и полномочия разработчиков строго разграничены и изменяются менеджерами крайне неохотно - для них стабильность стоит выше любых других приоритетов. Поэтому не все участники команды имеют доступ к репозиторию исходного кода и серверу. Ведущий проект опытный индийский разработчик(и) с особой осторожностью подпускает новичков к исходному коду, предпочитая вручную переносить в код изменения, предлагаемые членами команды, не имеющими доступа в репозиторий. А вам нужно всего лишь поэкспериментировать с парой строк в коде - но вы не имеете прав.
Возможны и не столь радикальные случаи - когда отладка с сервером возможна, но займет непропорционально длительное время (например, для обновления лишь одного файла нужно запускать громоздкую процедуру сборки проекта, которая занимает полчаса времени).
Для успешного разрешения таких проблем можно воспользоваться функцией "Map local..." Сниффера Charles Proxy - читаем дальше:
Нам, неамериканским компьютещикам, надо держать на компе минимум две раскладки: английскую и русскую, и переключаться между ними. Часто к двум раскладкам добавляется третья, например, украинская. Тогда жизнь может превращаться в клавиатурный ад. Мы путаемся между этими тремя раскладками. Вводим латиницу там, где нужна кириллица - и наоборот. Или - украинский язік там, где нужен русский. Это ужасно.
Для преодоления этой старой проблемы придумывали даже спец. софт - например, Punto Switcher, но он неидеален, к тому же - это еще одна программа на компе. Он хорош, но не всегда работает так, как ждешь - например, не разбирается в программировании, и приходится настраивать исключения. Это уже слишком сложно. Я бы хотел сам контролировать, что и когда переключать, и хотел бы делать это просто, что в случае с тремя языками нелегко. Хочется правильных шорткатов, и ОС дает нам их, но не все их используют. И на Маке, и на Винде есть средства - и о них ниже: как настроить переключение клавиатуры:
Ситуация: ваши неугомонные дизайнеры придумали цветовое кодирование для каждого раздела огромного сайта, это очень нравится заказчику, и теперь нужно изготовить для каждого такого раздела много картинок, адаптированных под конкретный цветовой код раздела. Эти картинки отличаются только цветом определенного слоя - но картинок много, сто штук и больше. И время от времени все сто картинок нужно переделывать - логотип еще меняется, а сайт уже живой - как обычно в вебдваноле. Даже первая переделка может показаться бессмысленной и утомительной.
В такой ситуации важно запрограммировать фотошоп на генерирование нужного кол-ва картинок в автоматическом режиме. И если вас попросят переделать все сто - вы будете иметь меньше работы, а фотошоп - больше. К счастью, в фотошоп встроена неплохая поддержка скриптования и даже специальный отладчик, это называется ExtendScript Toolkit, есть и документация.
Ниже показан скрипт, в цикле изменяющий цвет выбранного в фотошопе слоя и сохраняющий результат в файле с именем заданного формата.
Пару недель назад на моем ноуте перестала загружаться Windows 7, так при плотном рабочем графике я потерял свою машину. На самом деле, система довольно плавно умирала на протяжении двух недель, и мне следовало принять меры раньше, но - вышеупомянутый плотный график и надежда на лучшее сыграли со мной дурную шутку. Этапы умирания системы: сначала стала загружаться очень медленно, потом через раз, потом каждый третий раз, потом - каждый десятый и т.д., а закончилось все регулярным появлением ярко-синего экрана с сообщением "UNMOUNTABLE_BOOT_DEVICE", код ошибки 0x000000b7. Поиск по этой ошибке в сети часто выдает страницы периода кривой Висты: когда пользователи хотели снести на своих ноутах Висту и установить Windows XP, они часто получали эту ошибку, свидетельствующую о том, что их система XP не находит спец-раздела (связано с AHCI) на винчестере ноутбука, предназначенного для загрузки. Но я не пытался ставить XP, мне нравится Win 7. Все выглядело очень странно!
О том, как все починилось - читайте в продолжении поста.
Я потерял 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-файлов бывают и более изощренные неприятности, о которых мы еще напишем.
Это - незавершенная статья, но в ней содержатся все необходимые ссылки.
Проблема: пустой тэг <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
Пишет Dan:
Счастливые родители:
// - однострочный комментарий, компилятор игнорирует все остальные символы до конца строки
/* - начало многострочного комментария, компилятор игнорирует все символы пока не встретится
*/ - конец многострочного комментария
Разномастные дети:
//* - однострочный комментарий, который можно превратить в начало многострочного удалением одного слеша
/**/ - безопасный конец многострочного комментария: даже если не было начала, то не будет ошибки компиляции
/*/ - или начало, или конец многострочного комментария, по обстоятельствам
