Просмотр полной версии : Zinc&Flex&Flash
Во Флеше сделана простая swf с любым zinc кодом, например, код кнопки:
mdm.Dialogs.BrowseFile.title = "Сохранить как";
mdm.Dialogs.BrowseFile.buttonText = "Сохранить";
mdm.Dialogs.BrowseFile.filterList = "Тестовые задания|*.xml";
mdm.Dialogs.BrowseFile.defaultDirectory = mdm.Application.path;
После сборки exe-шника через zinc все замечательно работает, и появляется диалоговое окошко (Browse).
Теперь во Флексе в SWFLoader грузим эту swf. Собираем exe-шник через zinc. Но окно Browse не появляется.
Вопрос: как правильно подключать swf, чтобы zinc хавал команды не только внутри Флекса, а и подгруженной swf?
alexcon314
30.05.2007, 16:15
Подозреваю, что SWFLoader это примерно то же что MovieClipLoader во флэше. У тебя грузится в экзешник обычный swf. При компиляции exe подгружаемые в него из-вне swf-ы не компилируются вместе с ним и оболочка не выполняет предназначавшийся ей код.
Попробуй из подгруженного swf вызывать функцию в exe которая и выполнит нужные действия. Т.е. приведенный код должен быть в exe.
Другой вариант - использовать еще одну форму в проекте цинка в которую твой swf и запихнуть при компиляции. Тогда все будет работать.
С первым вариантом понятно, но не хочется сильно переделывать swf, да и функций много.
А про второй вариант, пожалуйста, поподробнее.
alexcon314
30.05.2007, 16:57
В цинке есть возможность создавать приложения и нескольких форм (читай - окошек). Главная форма 'MainForm' присутствует по определению. К ней можно добавить дочерние и показывать/прятать их по желанию методами класса mdm.Forms: show(), hide() и т.д.
Так вот, в цинковом проекте добавляй дочернюю форму, укажи ей твой swf, назначь стиль нужный, а в код MainForm встрой вызовы для нее show, hide ..
Кстати, ты "скрeщиваешь" два проекта в цинке? Один из Flex, другой из Flash? Интересный опыт... Отпишись, если что..
P.S. А первый вариант ничем не хуже.
Спасибо большое!
Видел я формы в Цинке, но до этого момента надобности их использовать не было. Обязательно попробую.
Первый вариант не хуже, просто у меня задача была внедрить swf в проект, и при этом как можно меньше изменять главную оболочку.
swf-ка сложная, с кучей zinc функций, и ... Вобщем, второй вариант для меня единственный.
P.S. Оболочка флексовая, swf-ки флешовые.
alexcon314
31.05.2007, 22:51
MaxD, у меня к тебе просьба.
Как то ты задавал вопрос как отловить правый клик мыши во флексе при помощи цинка - писал мне в личку.
Кажется, я нашел один способ - я тоже тебе о нем сообщал:
http://flasher.ru/forum/showthread.php?t=81193&page=9 пост 88.
Просьба состоит в том, чтобы попробовать: работает или нет? Мне это нужно.
Конечно, если у тебя будет время.
hayabu4i
04.06.2007, 16:52
вопрос не совсем из этой темы, но более подхлдящей не нашол. собственно вопрос: какой версией zinc вы пользуетесь? у меня есть 2.5.0.6, но она почемуто не работает с {mdm}Script 2.0 (т.е код из первого сообщения этой темы работать не будет). в триальной версии 2.5.0.31 (с сайта mdm) всё работате. помогите пожалуйста кто чем может
alexcon314
04.06.2007, 18:19
а в чем проблема?
hayabu4i
04.06.2007, 18:44
проблема вот в чём:
во фоэше такой код
mdm.Dialogs.prompt("Hello world!");
когдя я компилирую проект в Zinс 2.5.0.6, то это не работает. Если в триальной версии Zinc 2.5.0.31, то работает.
если исправить код на
mdm.prompt("Hello World");
то всё нормально в обеиз версиях Zinc
вывод только один - версия 2.5.0.6 не поддерживает {mdm}Script 2.0
во всяком случае это верно для той версии, которая у меня. может она както крякнута не так? какую версию пользуешь?
alexcon314
04.06.2007, 18:55
Zinc 2.5.0.31 Trial.
alexcon314
04.06.2007, 23:37
Наверно, обсуждение "кряков" начинать здесь не стоит.
Наверно, обсуждение "кряков" начинать здесь не стоит.
Именно. За это hayabu4i получает плюс.
--> alexcon314
Смотри личку :wacko:
alexcon314
05.06.2007, 12:36
:bye: Не совсем правильно понял меня. Я имел в виду совсем другое.
P.S. Смотри личку :confused:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.