2014-01-30 5 views
0

Я хочу написать сценарий, который заменяет источник некоторых объектов растровых изображений в моей библиотеке другим файлом. На самом деле, не важно, что объект обновляется на сцене во Flash, и мне все равно, изменяется ли состояние BitmapItem.sourceFileIsCurrent. Мне просто нужно, чтобы sourceFilePath был изменен для нашего процесса экспорта (с участием CreateJS).В JSFL есть ли способ обхода для BitmapItem.sourceFilePath?

Проблема в том, что JSFL's BitmapItem.sourceFilePath доступен только для чтения. Я решил импортировать новое изображение и удалить старый, но старый будет использоваться в различных других символах и на сцене. Итак, что я могу сделать, чтобы решить эту проблему?

+0

любая удача с предложенными идеями? –

ответ

0

Я не использовал Flash в какое-то время, поэтому не на 100% уверен, что это сработает.

Во-первых, вы можете попробовать это:

  1. Заменить/обновить путь элемента Bitmap на библиотеку вручную
  2. Проверьте историю панели и увидеть, если действие записывается и не имеет красный х на нем осталось. Если это не так, вам повезло, вы используете параметры Panel (3 горизонтальные линии), чтобы изменить представление на javascript и посмотреть, что вам нужно сделать

Не все, что вы делаете в однако IDE можно сделать с помощью JSFL.

Еще одна идея, которую вы можете попробовать это:

  1. магазин имя элемента библиотеки, которую требуется заменить
  2. импортировать новый точечный рисунок, который вы хотите использовать (через fl.getDocumentDOM().importFile())
  3. удалить старый точечный рисунок элемент, который вы хотите заменить из библиотеки
  4. установить ранее сохраненное имя в новый элемент растрового изображения (через свойство name)
  5. (необязательно) экземпляры обновления (instanceUsingOldBitmap.l ibraryItem = newBitmapItem)
+0

Спасибо за идеи. Некоторые проблемы: панель истории действительно дает некоторый код, но это, по-видимому, не имеет значения. 'var lib = fl.getDocumentDOM(). library; lib.setItemProperty ('allowSmoothing', false); lib.setItemProperty ('compressionType', 'photo'); 'Вторая идея не работает на шаге 3 - если я удалю старый растровый рисунок, ссылки на него на сцене или в других символах исчезнут. – PokeJoe

+0

Однако, используя JSFL, открытую через окно истории (о котором я раньше не знал, спасибо), я обнаружил 'fl.getDocumentDOM(). SwapElement();' который может помочь решить эту проблему. – PokeJoe

+0

Забыл о проблеме с исчезновением символов. Glad 'swapElement()' выскочил и этот этап истории можно вызвать из JSFL (как я уже говорил, не все, что вы делаете в Flash IDE, может быть реплицировано в JSFL) –

Смежные вопросы