#flash #actionscript-3 #flash-cs5
#flash #ActionScript-3 #flash-cs5
Вопрос:
У меня возникла проблема, когда я создал пользовательский элемент управления, и когда я добавляю его в файл FLA, он отображается так, как я ожидаю. Когда я добавляю файл ActionScript (AS) в свой пользовательский элемент управления, перезагружаю список компонентов и снова добавляю пользовательский элемент управления, он больше не отображает пользовательский элемент управления в моем файле FLA.
Вот что я сделал (может быть, я сделал что-то не так?):
- Создал новый файл FLA и назвал его Control1.fla
- Создал прямоугольник на сцене, щелкнул по нему правой кнопкой мыши и выбрал «Преобразовать в символ».
- Я дал ему имя Control1 и нажал OK.
- Затем я щелкнул правой кнопкой мыши по элементу управления в библиотеке и выбрал «Определение компонента».
- Я присвоил ему имя класса Control1 и установил флажок «Отображать на панели компонентов».
- Затем я дважды щелкнул значок Control1 в библиотеке, чтобы открыть его, и просто добавил строку.
- Щелкните правой кнопкой мыши Control1 в библиотеке и выберите «Экспортировать SWC-файл …» и присвоил ему имя Control1.swc
- Затем я создал новый файл FLA и назвал его Tester.fla
- Я обновил список компонентов (используя небольшой выпадающий список справа от метки списка компонентов).
- Я сбросил элемент управления Control1 на сцену, и я вижу свой элемент управления с линией, которую я нарисовал ранее в нем.
- Я запускаю приложение и вижу элемент управления, как и следовало ожидать.
- Теперь я возвращаюсь к файлу Control1.fla и выбираю File / New и выбираю файл «ActionScript 3.0 Class» и ввожу Control1 в качестве имени класса. Измените код таким образом:
пакет
{
import flash.display.MovieClip;
public class Control1 extends MovieClip {
public function Control1() {
// constructor code
}
}
}
- Я сохраняю это как файл как Control1.as
- Я возвращаюсь к файлу Control1.fla и щелкаю правой кнопкой мыши по значку Control1 в списке библиотек и выбираю «Экспортировать SWC-файл …».
- Затем я возвращаюсь к файлу Tester.fla и удаляю объект Control1, который у меня был на сцене.
- Я обновляю список компонентов, как я делал на шаге 9.
- Я перетаскиваю компонент Control1 на сцену и выбираю «Заменить существующий компонент» в появившемся приглашении, и теперь я вижу свой пользовательский элемент управления на сцене.
- Однако, когда я запускаю приложение сейчас, я не вижу свой пользовательский элемент управления — я вижу только пустой белый этап.
Я почти уверен, что пропустил шаг или что-то в этом роде — я только начинаю изучать Flash и AS3, и я следовал руководству по этому, но я столкнулся с этой проблемой!
Любая помощь будет высоко оценена! Спасибо!
Комментарии:
1. Попробуйте перезапустить flash вместо обновления списка. раньше у flash были проблемы с этим. По крайней мере, это то, с чем я столкнулся, когда давным-давно разрабатывал компонент.
2. Привет — я также попытался перезапустить flash, когда прочитал кое-что об этой проблеме в CS3 — к сожалению, тот же результат. Я использую Flash Professional CS5.5.
Ответ №1:
Я никогда не создавал пользовательский SWC-компонент, но процесс, которому вы следуете, очень похож на создание пользовательского компонента FLA. Кажется, что отсутствует шаг сохранения файла в папку config / components. Вот путь для этого. C:Program Файлы (x86) Adobe Adobe Flash CS4 Общие Конфигурация Компоненты Затем перезапустите flash. FLA также требуют, чтобы вы создали прокладку, которая представляет собой просто скомпилированный клип, содержащий ваш скомпилированный код, который вы просто вставляете в свой компонент в своей библиотеке. Я не уверен, требуют ли этого компоненты SWC. Вот ссылка о компонентах shims и fla на случай, если вам это понадобится или вы решите переключиться.
http://www.flexiblefactory.co.uk/flexible/?p=16
http://redbjarne.wordpress.com/actionscript-3-0-custom-components-from-hell/
Этот мне помог больше всего, но он не идеален, и следите за его формулировками. это может быть сложно.
Комментарии:
1. Привет, Джеймс — я сохранял файл SWC в папку Components, я просто не упомянул об этом в своих шагах — извините за это! Я посмотрю на ссылки и посмотрю, помогут ли они. Спасибо!
2. Извините, я больше не помогал, я никогда не использовал swc. Если вы переключитесь на компоненты FLA и вам понадобится помощь, дайте мне знать. Я знаю о них немного больше.
3. Я переключился на использование FLA, как было предложено, и заставил его работать без каких-либо проблем! Спасибо за предложение, Джеймс.