Просмотр полной версии : flex и swf
Неужели никак нельзя swf -ке, подгруженной swfLoader-ом сказать
play() (или gotoAndPlay()) ???
Flash 8 AS2. А есть разница?
Принципиальная. Во flex — AS3.
Взаимодействовать со старыми роликами можно только посредством LocalConnection.
Кстати, подскажите, где можно посмотреть пример взаимодействия Flex - Flash через localConnection ? У меня почему-то флешом флексовые функции нормально запускаются, а наоборот не хочет.
Потому что LocalConnection — односторонний. Нужно создавать второй LocalConnection, работающий в обратную сторону.
:-) Это понятно. Вот он, почему-то, работать не хочет.
У меня все прекрасно работало.
Нету. И собирать его, в общем-то, некогда.
Будет время — напишу.
А какой-нибудь туториал на руском?
Я не пользуюсь русскоязычными туториалами.
Еще вопрос.
Есть mxml, есть подгружаемая в нее swf. Я отправляю данные из одной в другую(например, отправляет mxml). В mxml пишу ...send, в swf - ...connect.
Вопрос: в то время, когда выполняется local_connection.send в swf-ке уже должен быть запущен connect? Или send должен запускаться, пока в swf не запустится connect? Как оно вообще работает?
mxml в swf не существует.
connect должен быть произведен раньше, чем send.
http://nodesign2005.narod.ru/tutorials/as2_flex2.html
mxml в swf не существует.
:umnik2:
Еще вопрос.
Есть mxml, есть подгружаемая в нее swf.
То есть в mxml (Flex) подгружается swf.
to baron27
спасибо за ссылку, попробую разобраться.
Pow R. Toc H.
18.07.2007, 16:37
а где можно прочитать, как можно использовать flash на as3 во flex?
screamge
18.07.2007, 17:29
почему людям лень искать, не поймууу...
АС2 свф и Флекс:
http://weblogs.macromedia.com/pent/archives/2006/07/using_actionscr.cfm
АС3 свф и Флекс:
http://weblogs.macromedia.com/pent/archives/2007/04/using_actionscr_1.cfm
Потому, что эти примеры, давно скачанные, крайне простые, плюс работают через раз. Из флеша во флекс приходят данные нормально, а флексом звездочка тормозится хорошо если один раз из пяти.
Плюс ко всему, то, что
connect должен быть произведен раньше, чем send.
я узнал только на этом форуме. В примере этого нет. :rtfm:
screamge
20.07.2007, 12:13
В примере нет так как это и так вроде как понятно исходя из здравой логики.
Ну так решение было найдено или вопрос до сих пор актуален?
MaxD, ну дык, а если логически подумать? Куда он будет слать, если соединение ещё не открыто?
:quiet: Просто с localConnection-ами не работал. И логически можно подумать: куда он будет коннектится, если еще ничего не произошло, никто ничего не отправлял... ;)
Не хочу создавать еще одну тему, так как у меня вопрос тоже о взаимодействии flex и swf. Задача следующая: у есть два swf файла, к примеру 1.swf и 2.swf. Первый файл посредством loadMovie грузит второй файл. Во Flex загружаться будет файл 1.swf. Задачка в том что из флекса второй файл в 1.swf не загружаеться. Кто-то сталкивался с подобной задачей или может есть какие идеи?
Flex не существует, сколько раз уже твердили. Существует только Flash.
По объяснению непонятно, что куда грузится и зачем.
а что же тогда такое flex по-вашему? просто интерестно. А насчет того что куда подгружаеться: в mxml компоненте (если так понятнее звучит) через swfLoader подгружаеться файл swf который в свою очередь подгружает в себя другой swf файл, например file2.swf. В результате подгрузки file2.swf не происходит.
Иследуя эту проблему заметили что если file2.swf подгружать в root то подгрузки не происходит, но если он будет загружаться в movieClip тогда подгрузка произойдет успешно... вот такие пироги
Flex — это фреймворк. Набор компонентов и классов, все. А mxml конвертируется в AS3-класс на этапе компиляции.
Подгружаемый ролик в SWFLoader какой версии?
ролик 8-ой версии.
а Flex все-таки существует ;)
Нет, не существует.
http://flash-ripper.com/archives/001669.php для самообразования.
Ролики восьмой и ниже версий не имеют возможности что-либо подгружать, об этом написано в хелпе.
хм... как же не имеют если я подгрузила? чудо?
А насчет флекса - дяденьки из Adobe (может даже тетеньки) трудилися создавая такой продукт как Flex, а вы им "Flex не существует"? ну как-то обидно за дяденек :) (и возможно тетечек)
если всё наконец в swf kakaя разница
xpi100, интерестно подмечено ;)
хм... как же не имеют если я подгрузила? чудо?
А насчет флекса - дяденьки из Adobe (может даже тетеньки) трудилися создавая такой продукт как Flex, а вы им "Flex не существует"? ну как-то обидно за дяденек :) (и возможно тетечек)
Флекс существует для программиста и точка.
Насчет не имеют возможности привожу цитату из хелпа дословно:
The AVM1 content cannot load files into levels. For example, it cannot load files by calling loadMovieNum("url", levelNum).
:) да оставьте вы флекс в покое, я шучу а вы так серьезно это воспринимаете. Мы же с вами все-таки программисты и он для нас существует ;). Собственно проблема с загрузкой как была так и осталась. Если найду решение обязательно отпишу сюда же.
Насчет загрузки: наверно мы друг друга не так поняли ;)
Загрузкой данных занимается ролик восьмой версии? Если да, то он этого делать не может.
я сегодня уже убегаю. Завтра попробую более подробно рассказать что происходит, возможно где-то что-то не точно сказала. лучше наверно будет выложить исходник для наглядности
наверно _etc скажет 4то опят не 4итал тему
вот 4то:
попробуи 4ерез URLStream ->ByteArray->LOader
а если я гружу AS3 swf'ку то по идее, я могу без проблем вызвать функции этой swf, не так ли?
наверно _etc скажет 4то опят не 4итал тему
вот 4то:
попробуи 4ерез URLStream ->ByteArray->LOader
Скажу. Не читал и не понял ничего.
lumumba, в принципе да.
а вот как?
с помощью LocalConnection все работает
а как без LocalConnection?
А что мешает обратиться к свойству content у Loader?
я так и делал. Он при компиляции на ошибку ругался
оказывается надо просто забить и жмакать Continue :)
пардон....
не работает:(
Я, к сожалению, не ясновидящий и не гадалка, поэтому я не знаю, что именно вы загружаете, как загружаете и как пытаетесь использовать.
в _root (на первом кадре)
var testFunction= function(text:String):String{
trace(text);
return text;
}
во флексе гружу в SWFLoader с id="loader", на событие complete вызываю loader.content.testFunction();
при компиляции говорит что ошибка: Call to a possibly undefined method testFunction
Какой _root в AS3? Я уже не говорю о том, что никакого кода в кадрах быть не должно.
да? во Flash CS3 такого уже нет?
прошу прощения
пошел читать доки
Во Flash CS3 я имел ввиду ActionScript 3 проект, а не AS2. Более того, хоть в AS3-проекте есть возможно писать код в кадрах, лучше этого не делать и все писать в классах.
все теперь понял
оказца есть еще Document Class
ну вот написал я Document Class с public function testFunction
компилирую в swf
гружу в Flex
и как теперь вызвать testFunction? SWFLoader.content... и что дальше?
Необходимо использовать интерфейс (точнее, правильнее).
Набросал примерчик во Flash CS3 (запускать Flex было лень), но суть ясна.
info.content['hello']();
как я сам не догадался:(
но раз // Не стоит так делать
то и не надо
большое спасибо!!!:drinks:
наверное в конец затюкал вас ...:p
Лучше все же использовать интерфейс. К весу основного swf он почти ничего не добавит, зато можно безболезненно вызывать нужные методы.
Как заставить дружить AS2 и AS3? SWFBridge вам в помощь… (http://blog.wbsv.ru/?p=249#more-249)
xandev, как ваша ссылка относится к обсуждаемой теме?
ок, а если swf скомпилина под флешплеер 9 AS3? в swf нет ныкакого кода, только анимация? Как ей управлять?
http://gorbatov.blogspot.com/2007/09/9.html
Там в комментах написано, как обращатья к мувиклипу по имени напрямую без функций доступа.
Спасибо. С FlashPlayer9 понятно. Вот что со старыми swf-ками делать?
Alexandor1984
15.01.2008, 16:34
Вопрос по swf(as3) - swf(as3).
Есть event.swf которая умеет генерит событие "customEvent". Когда я подгружаю event.swf в main.swf и подписываюсь на событие "customEvent", то обработчик не срабатывает.
Почему так?
Вопрос снят. Спасло bubbles = true при генерации события.
Можно ещё минуточку вашего внимания?
С тем что флекса не существует я уже смирилась :)
Но вот такой вопрос: в приложение написанное с помощью флекса подгружаются с помощью SWFLoader две swf-ки - первая написана во флеше AS3, вторая во флексе.
Обе содержал простую функцию, которая выводит сообщение. Но из первой swf-ки функция вызывается нормально, из второй - нет.
Вызов:
<mx:SWFLoader y="0" source="http://localhost/Flex/files/Test.swf" id="TestSWF" autoLoad="true" x="321" complete="onLoad()"/>
...
public function onLoad():void
{
TestSWF.content['hello']();
}
Код первой swf-ки (да, знаю что в кадре размещать код плохо)
function hello ()
{
trace("hello!");
}
Код второй:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
public function hello():void
{
trace("Hello!");
}
]]>
</mx:Script>
</mx:Application>
Что нужно изменить, чтобы функция из второй swf-ки тоже вызывалась? Пока пишет
Property hello not found on _Test_mx_managers_SystemManager and there is no default value
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.