Просмотр полной версии : Как получить _totalframes у загруженого swf?
Доброе утро всем.
Столкнулся с проблемой.
myClip._totalframes - вне зависимости от загруженного клипа, выводит одинаковое значение - 65535. Пробую myClip._framesloaded, выводит - 16000.
Вот мой код.
this.createEmptyMovieClip("myContainer",this.getNextHighestDepth());
var myLoader:MovieClipLoader = new MovieClipLoader();
myLoader.addListener(this);
myLoader.loadClip("test2.swf",myContainer);
function onLoadInit(mc:MovieClip) {
myContainer.stop();
trace(myContainer._totalframes);
trace(myContainer._framesloaded);
}
И подскажите, можно ли как то получить framerate у загруженого swf?(AS2)
возможно это поможет.
клипы которые подгружаются содержат звуковые дорожки в таймлайне и на некотрых фреймах обращения к внешнему яваскрипту.
lexa2000lexa
29.07.2008, 16:29
поместите звук в библиотеку , это должно вам помочь.
нет. swf со звуком, генерируется автоматически.
мне нужно знать количество фреймов в загруженном клипе, чтобы вычислить продолжительность звука. или может быть кто нибудь посоветует другой путь?
crazyone
29.07.2008, 17:28
Видимо ваш свф со звуком криво генерируется.
PS Тут нужен смайлик в бешенстве, конечно же. Даже он взбесился. Что значит "вне зависимости от подгружаемого клипа"? А от чего это зависит, по-вашему? От фазы луны? Или вы думаете, что вот всю жизнь _totalframes нормально работал, а тут вдруг перестал? И конечно же, то, что ваши swf генерируются автоматически, никак не влияет на это?
Извините, эмоции.
эмоции оставляйте дома.
"вне зависимости от подгружаемого клипа" - означает, что какой бы я клип не подгружал, сгенерированный или созданный вручную, результат один и тот же.
lexa2000lexa
29.07.2008, 19:37
я конечно не знаю, но у меня все работает нормально , с клипом созданным вручную.
во вложении пример.
похоже на определение _totalframes влиял AS в подгружаемом swf, который находился в первом фрейме.
можно ли как то на время игнорировать/выключать его?
вот сам скрипт:
getURL("javascript:rshlinit()");
crazyone
29.07.2008, 22:44
эмоции оставляйте дома.
Эмоции я буду оставлять там, где они возникли. Тем более, что это был тонкий намек на то, что нужно бы описать ваши подгружаемые клипы.
"вне зависимости от подгружаемого клипа" - означает, что какой бы я клип не подгружал, сгенерированный или созданный вручную, результат один и тот же.
Если ваша проблема вызвана не подгружаемыми клипами, я готов сьесть свои носки.
И да, обработчик onLoadComplete вызывается до выполнения любого кода в подгруженном свф, но сразу после загрузки. Он вам и нужен, если это проделки вызова AS в первых кадрах.
Molecula
29.07.2008, 22:55
this.createEmptyMovieClip("myContainer",this.getNextHighestDepth());
var myLoader:MovieClipLoader = new MovieClipLoader();
myLoader.addListener(this);
myLoader.loadClip("Untitled-2.swf",myContainer);
function onLoadInit(mc:MovieClip) {
mc.stop();
trace(mc._totalframes); // traces 70
trace(mc.mymc._totalframes); // traces 30
}
В Untitled-2.swf в руте 70 фреймов, а в клипе mymc 30.
вообщем, вы правы. проблема действительно в сгенерированном swf
сгенерированный файл со звуком во вложении.
если кто сможет помочь, буду очень признателен.
никак не пойму, что глючит. :umnik2:
Жень Шень
30.07.2008, 11:23
Код в первом кадре - getURL("javascript:rshlinit()"); перенести во второй, так как после onLoadInit вызывается браузер с вытекающими последствиями. Далее. Раз вы стопите его после загрузки: myContainer.stop();, то просто поставте стоп в первом кадре. И получите свои 394 кадра!
дело в том, что генерацией файла я не могу управлять. в этом и загвоздка. :\
crazyone
30.07.2008, 18:38
Код в первом кадре - getURL("javascript:rshlinit()"); перенести во второй, так как после onLoadInit вызывается браузер с вытекающими последствиями. Далее. Раз вы стопите его после загрузки: myContainer.stop();, то просто поставте стоп в первом кадре. И получите свои 394 кадра!
Нет, там проблемма не в самом коде. Там генерация свф кривая.
Если эту же свф-ку декомпилировать и собрать новую, не внося в исходник изменений - все работает хорошо, определяет 395 кадров.
Выход - мучить того, кто генерирует свф-ку, он плохо справился со своей задачей.
Если эту же свф-ку декомпилировать и собрать новую, не внося в исходник изменений - все работает хорошо, определяет 395 кадров.
только этим и занимался.
есть пару swf которые после перекомпиляции работают, а основное число не работает.
действительно, если в swf 1й фрейм сделать пустым - всё ок.
...
:umnik2:
фиг его знает че делать
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.