15 часов назадХотелось бы узнать, Как вы относитесь к пиву? Если положительно, то какое предпочитаете? Если отрицательно, то почему? Просто интересно...
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 что какжется логичным. Хочется делать простые вещи без всяких костылей и хакерства.
Пишет Dan:
Счастливые родители:
// - однострочный комментарий, компилятор игнорирует все остальные символы до конца строки
/* - начало многострочного комментария, компилятор игнорирует все символы пока не встретится
*/ - конец многострочного комментария
Разномастные дети:
//* - однострочный комментарий, который можно превратить в начало многострочного удалением одного слеша
/**/ - безопасный конец многострочного комментария: даже если не было начала, то не будет ошибки компиляции
/*/ - или начало, или конец многострочного комментария, по обстоятельствам
В данной статье я хочу покуситься на самое святое, что у нас есть: на сам Flash Player.
Факт 1: иногда встроенные классы Флеша имеют забавные приколы, например самопроизвольный вызов load в конструкторе класса Sound, или жёсткий глюк в ExternalInterface, о котором я расскажу ниже.
Факт 2: глюки бесят, и иногда хочется узнать, из-за чего они происходят, или заранее знать, где спрятаны грабли.
Факт 3: ABC-код довольно легко декомпилируется.
Предположение: Далеко не все методы встроенных классов FP являются нативными, некоторые из них возможно написаны на нашем родном AS3 (точнее на ABC-коде).
Старожилы наверняка помнят исходники стандартных классов для разных версий флеш-плеера вплоть до 8-го. Отсюда и возникло предположение, что и в версиях 9 и 10 тоже должно быть хоть что-то ненативное.
Предположение оказалось верным, а это значит, что Флэш можно потрошить.
Подробнее - под катом.
James Alliban экспериментирует с Augmented Reality на Flash. И у него это неплохо получается.
И что самое прекрасное - он делится исходниками этого чуда.
У армянского радио часто спрашивают, что всё-таки лучше: FB или FDT?
В чём-то их возможности пересекаются, например, оба предоставляют минимальные средства рефакторинга (переименование), оба имеют функцию поиска референсов на поле или метод и т.д.
Однако у каждого есть и свои особенности, которые отстутствуют у конкурента. Например, у FDT есть замечательная фича Quick fix, зато у FB есть профайлер, дизайнер форм, да и вообще он лучше работает с MXML.
Отсюда возникает соблазн использовать их оба два. К счастью это не так сложно (если не учитывать, конечно, что оба платные). Рассказываю свой рецепт, как их подружить, однако это не означает, что нельзя добиться того же самого другими путями.
UPD:iceX подсказал ссылку на более подробную статью.
