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

Вернуться   Форум Flasher.ru > Flash > Flex

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

Регистрация: Jan 2010
Адрес: Украина, Запорожье
Сообщений: 23
По умолчанию Flex: остановить проигрывание SWF

Есть такой код
Код AS3:
[Embed(source="../image/floor.swf")]
private var prisonFloor:Class;
 
// тут запускаем swf
var floorClip:MovieClip = MovieClip(new prisonFloor());
gateFloor.source = floorClip;
floorClip.play();
как остановить проигрывание swf. Нужно именно программно остановить, что-то типа: если дошли до последнего кадра - остановить.

Старый 15.02.2010, 16:34
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Подписаться на enterFrame, посчитать кадры и остановить.
__________________
Hell is the possibility of sanity

Старый 15.02.2010, 16:53
patap вне форума Посмотреть профиль Отправить личное сообщение для patap Найти все сообщения от patap
  № 3  
Ответить с цитированием
patap

Регистрация: Jan 2010
Адрес: Украина, Запорожье
Сообщений: 23
wvxvw, думаю я правильно понял. Вот я добавил, но работать не хочет. В чем ошибка?
Код AS3:
floorClip.addEventListener(Event.ENTER_FRAME, checkFrm);
 
public function checkFrm(event:Event):void {
  if (event.target.currentFrame == event.target.totalFrames) {
    event.target.stop();
  }
}

Старый 15.02.2010, 17:25
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, может проигрывается не основная шкала клипа, а какой-то из вложеных... это уже у дизайнера надо спрашивать
__________________
Hell is the possibility of sanity

Старый 15.02.2010, 17:26
patap вне форума Посмотреть профиль Отправить личное сообщение для patap Найти все сообщения от patap
  № 5  
Ответить с цитированием
patap

Регистрация: Jan 2010
Адрес: Украина, Запорожье
Сообщений: 23
также я думаю у меня не происходит реакции на addEventListener

если в checkFrm добавить только строку event.target.stop(); , то swf все равно не останавливается

Добавлено через 1 минуту
wvxvw, так дело в том, что я все сам делаю (честно говоря не очень в этом соображаю, у меня профиль PHP)

Слой у меня во Flash одни. К примеру если запустить Flash и просто наделать фреймов и сохранить - вот в принципе моя анимация и есть, ни каких там вложенностей или чего-то хитрого нет

Добавлено через 52 минуты
еще одно, если сделать алерт

Код AS3:
Alert.show(floorClip.totalFrames.toString());
выводит почему-то ноль...

Добавлено через 1 час 48 минут
быть может я неправильно сделал SWF?

Файл делал во Flash 5. Насоздавал фреймов, потом сделал Export Movie и получил SWF.


Последний раз редактировалось patap; 15.02.2010 в 17:38.
Старый 16.02.2010, 04:08
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ого... пятый флеш... а где вы его взяли? или в смысле CS5 - хотя тоже, это ж еще закрытая бета, у меня его еще нет... Я думаю, что флексовый компилятор не проверяли на совместимость с такими старыми версиями... это ж было на заре человечества, году так в 2000... а может и раньше
В смысле, текущая версия флеша - 10, на подходе - 11.
__________________
Hell is the possibility of sanity

Старый 16.02.2010, 11:13
patap вне форума Посмотреть профиль Отправить личное сообщение для patap Найти все сообщения от patap
  № 7  
Ответить с цитированием
patap

Регистрация: Jan 2010
Адрес: Украина, Запорожье
Сообщений: 23
именно Flash 5 другого под рукой не было. Т.е вполне возможно, что проблема именно в нем? ладно для начала найдем по-новее

Добавлено через 7 часов 12 минут
установил Flash CS3. в нем экспортировал swf. проблема таже.

В одном месте подсказали: AVM - разные.
Толком не могу понять что это значит, и как состыковать это

Добавлено через 8 часов 39 минут
вернее будет: посоветуйте на какие моменты обращать внимание, чтобы избежать таких вот нестыковок

Старый 19.02.2010, 15:42
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
AVM - ActionScript Virtual Machine, их есть две AVM1 и AVM2. AVM1 - это ActionScript 1 - 2, AVM2 - ActionScript 3. Если вы загружаете флешку скомпилированую для AVM1 в AVM2, то она там видится как AVM1Movie (который не является наследником MovieClip), и у него нет свойств типа currentFrame или методов nextFrame() / gotoAndPlay() и т.п.
Если в AVM1Movie нету никаких скриптов, его проще переделать в AVM2 - нужно будет распарсить его и заменить версию. Если в нем есть скрипты, тогда вам прийдется делать обертку на AS2 и из этой обертки общаться через LocalConnection с загруженым клипом. Второй вариант я когда-то делал:
http://code.google.com/p/e4xu/source...#svn/trunk/as2
+
http://code.google.com/p/e4xu/source...vxvws/lcbridge
или
http://e4xu.googlecode.com/files/avm1bridge.zip

Первый вариант:
http://code.google.com/p/as3-classes...cibleLoader.as

Но проще всего - не работать со старыми SWF
__________________
Hell is the possibility of sanity

Старый 19.02.2010, 18:00
patap вне форума Посмотреть профиль Отправить личное сообщение для patap Найти все сообщения от patap
  № 9  
Ответить с цитированием
patap

Регистрация: Jan 2010
Адрес: Украина, Запорожье
Сообщений: 23
wvxvw, спасибо за ответ. Просветился немного
но по чему так все сложно... ))
ну суть я вроде уловил. Получается, что у меня SWF поддерживает AVM1, и при подгрузке данного файла во Flex - теряются все его свойства. Следовательно нужно скомпилировать Swf под AVM2, тогда и отпадет потребность в переконвертировании AVM1 в AVM2, парсинг и т.д.

Я так полагаю что у Flash CS4 должна быть такая возможность - компилить SWF под AVM2. Если да, то как?

Старый 19.02.2010, 19:40
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
>> Я так полагаю что у Flash CS4 должна быть такая возможность - компилить SWF под AVM2. Если да, то как?
Ctrl + Shift + F12 > Flash > ActionScript Version > выбрать Action Script 3.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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