Это не отвечает на заданный вопрос, но слишком длинный комментарий.
Ваша проблема заключается не в том, как включить компилятор flex в AIR, а в том, как легко и просто загружать модели и текстуры в SWF.
Прежде всего, нет 100% безопасного ответа; формат SWF легко декомпилируется (поэтому вложение 1 файла на SWF отсутствует), и если он будет достаточно определен, кто-то может посмотреть в память вашего приложения, чтобы найти то, что ему нужно; это все о прекращении простой копии.
Off верхней части моей головы, вот некоторые из способов, вы можете сделать это, при условии, что ваша конечная цель онлайн 3D модель зритель:
1) Иметь свой собственный формат
Хотя технически это невозможно, это довольно неудобно; в основном вы пишете свой собственный формат для хранения и отображения моделей (в основном, что делает большинство программ для 3D-моделирования). Это означает, что если кто-то завладеет файлом модели, это бесполезно для них, если они не пишут синтаксический анализатор (естественно, вам нужно защитить свой SWF-дисплей). Если целью вашего зрителя является покупка другими пользователями других моделей, то они понадобятся в формате, который они могут использовать, поэтому ваш рабочий процесс выглядит примерно так:
Создание модели в общем формате -> convert в пользовательский формат для отображения в проигрывателе -> пользователь просматривает и хиты «купить» -> они скачать общий формат файл
2) Загрузите 3D модель с вашего сайта
Самым простым вариантом; просто загрузите модель непосредственно с вашего сервера, подобно тому, как вы загрузили изображение. Чтобы пользователи не загружали файл напрямую, храните их над папкой htdocs
и обращайтесь к ним через локальный URI во флэш-памяти. Так что ваша файловая система сервера выглядит примерно так:
- модели
- HTDOCS
- индекс.HTML
- 3DPlayer.swf // загружает модели с использованием»../models/Model1" путь
Таким образом, только ваш SWF может получить доступ к модели (хотя технически, так как это загрузка файла, его может быть в кеше браузера - вы должны проверить его). Чтобы на самом деле поместить модели в каталог models
, вам понадобится FTP-доступ к серверу или нужно создать простой скрипт (с использованием PHP или т.п.) для их загрузки.
3) Поток активов к вашему SWF
Как уже упоминалось, вы можете использовать что-то вроде ColdFusion для потоковой передачи активов непосредственно к SWF по запросу. У меня нет никакого опыта в ColdFusion, поэтому я не могу сказать, как это будет работать, но это не должно быть слишком трудно
4) DB соединение
Предполагая, что ваши модели сохраняются в виде текста blobs в БД (например, MySQL или MongoDB), вы можете либо напрямую подключиться к SWF, либо использовать PHP и AMFPHP для подключения к db и потоковой передачи модели таким образом.
Вам нужно будет внедрить некоторую систему безопасности, чтобы убедиться, что люди не могут обманывать ваши вызовы на сервере, но фактический код для подключения и возврата значения не слишком сложный. В качестве дополнительного бонуса вы не привязаны к SWF-формату и можете при необходимости использовать JS-экраны и т. Д.
Итак, ваше воздушное приложение просто загрузит готовые модели и сгенерирует файлы .SWF из них? Почему ваш SWF-3D-плеер не просто загружает файлы модели напрямую? – divillysausages
Если я загружаю модели внутри внешнего проигрывателя .swf 3d Player (через URLRequest), это будет означать, что исходные 3d-модели подвергаются загрузке другими пользователями, поскольку они должны находиться где-то в веб-пространстве. Я хочу, чтобы 3d-файлы были включены в .swf для повышения безопасности. Я слышал, что загрузка файлов может быть ограничена приложениями, но я действительно хотел бы сделать ее максимально удобной для пользователя. Например. нажмите «export to swf button» и загрузите результат в свое веб-пространство, сделанное. –
@DenisDik Я не уверен, с чего начать: Встраивание 3D-модели внутри SWF не обеспечивает ее гораздо большей защиты; поскольку SWF легко сбрасываются с обратной стороны; поэтому я подозреваю, что вы добавляете много работы в разработку приложений для очень малого успеха в защите данных. Вы можете обслуживать файлы через URL, не сохраняя файлы в доступном в Интернете каталоге [ColdFusion делает это с помощью cfcontent]. Концепция загружает файлы байтов из файловой системы и передает их в браузер. Ваш код может выполнять проверку безопасности, чтобы убедиться, что разрешен доступ. – JeffryHouser