Хотелось-бы сразу сказать. Что StencylWorks не такой уж простой конструктор. Кроме того что для него мало русскоязычной информации, так и на официальной странице конструктора, также минимум информации по его использование. Казалось бы проект набирает обороты, а разработчики особо и не стремятся выпустить полноценный хелп для своего детища . Поэтому многим пользователям (как и мне) приходится изучать всё методом тыка, на пробу. В StencylWorks очень запутанный API , его можно изучать лишь методом проб и ошибок, так как полной справки по нему нету. Даже данный урок написанный ниже, вышел благодаря тому, что сторонние пользователи выложили его на офф сайте, а разработчики удосужились вывесить его на своей странице. Данный урок по установке внешних библиотек я расскажу на свой лад, а не в переводе с офф сайта. И так начнём:
1 - Что такое SWC библиотека. Это пакет вложенных swf файлов, упакованных в формат ZIP. И имеющий лист файл *xml* с объявленными в нём всех адресов классов используемых в пакете. Я не буду рассказывать вам как создать SWC пакеты. Об этом вы можете узнать в сторонних ресурсах посвященных программированию на AS скрипте. Только намекну , пакеты нужно делать в AS3 версии, ниже версии StencylWorks не примет.
2 - Чтобы вам не мучатся с поиском подопытного SWС файла , я создал свой демо файл с одной функций передающий текстовый параметр *Hello World !!* Скачать вы можете его ЗДЕСЬ
3 - И так скачав выше приведённый файл, копируем в папку *Диск и путь куда установили:\StencylWorks\plaf\flash\* . Изменяем ( можно с помощью таких программ как Total Commander) расширение файла demoSWС.swc , на demoSWC.zip То есть после точки три буквы swc меняем на zip. У нас получится zip архив.
4 - Вы наверное заметили в папке *\StencylWorks\plaf\flash\* файл engine.swc , копируем данный файл в любое место, как бэкап. Чтобы потом можно было восстановить. Помните это основной файл Стенцила, это ядро ваших игр. Именно этот файл будет в себе содержать другие SWF файлы.Далее делаем с engine.swc те-же действия, что мы сделали с demoSWС.swc . То есть меняем расширение swc на zip.
5 - Теперь разархивируем каждый zip файл в отдельную папку, для каждого пакета. Файл demoSWС.zip в папку demoSWС, а engine.zip в папку engine. Внутри папок должны будут находится файлы *catalog.xml* и *library.swf*. В папке demoSWС вы можете увидеть файл *icon_0.png*, не обращайте внимания, он туда попал по ошибке во время компиляции SWC файла. Сам demoSWС.swc создовался на Flash IDE СS5.5, вот он любитель внедрять разные обложки в виде картинок
Скриншоты:
-----------------------------------------------
-----------------------------------------------
6 - Ну почти подходим к концу этого мазохизма. Я думаю если Стенцил не изменит механику расположения своих файлов, в новых версиях конструктора, то сделаю специальную программу по автоматической сборки пакетов для Стенцила. Но это позже. И так теперь открываем папку demoSWС и переименовываем файл library.swf в *что захотите, но разрешение должно остаться swf* , я переименовал в *demoSWС.swf*. Теперь копируем файл demoSWС.swf в буфер обмена, правая кнопка мыши на файле -> выбрать *копировать*. Далее открываем папку engine и нажимаем там правую кнопку мыши -> выбираем вставить ! У вас в папке engine должен появится файл demoSWС.swf , итого у нас в папке будут уже 3 файла *catalog.xml* - *demoSWС.swf* - *library.swf*. Хочут отметить в такой программе как *Total Commander* копирование сделать проще, используя два окошка внутри
7 - Теперь снова переходим в папку demoSWС и открываем в любом текстовом редакторе (или специальном редакторе) файл catalog.xml. Ищем там строчку *<library path="library.swf">* и заменяем *library.swf* на *demoSWС.swf*. У нас должно получится *<library path="demoSWС.swf">*. Сохраняем на всякий случай. Снова продолжаем редактирования файла catalog.xml , теперь выделяем область от *<library path="demoSWС.swf">* до *</library>* и копируем в буфер обмена (правая кнопка мыши копировать). Далее переходим в папку engine, там тоже открываем для редактирования файл catalog.xml , после строчки *<libraries>* делаем отступ клавишей *Enter*. У вас между строками *<libraries>* и *<library path="library.swf">* будет пустая строка. Вставляем курсор в пустую строку и копируем туда весь скопированный текст. У нас с вами получится два блока указывающие на дополнительную и основную библиотеку swf:
8 - Ну вот основное дело мы сделали, на взгляд это как-бы трудно и страшно. Но на самом деле очень просто и легко. После 2-3-х раз вы будете делать все эти действия с закрытыми глазами. И так выделяем в нашей папке engine файлы *catalog.xml* - *demoSWС.swf* - *library.swf* и упаковываем их в архив engine.zip ! Помните в не какой любой другой архив, а именно zip с дефолтовыми параметрами, то есть как есть так и упаковываем. У нас получится архив engine.zip , в котором содержатся 3 файла catalog.xml (отредактированный выше) - demoSWC.swf (присоединенная библиотека) - library.swf (основная библиотека движка). Далее расширение файла engine.zip, меняем на engine.swc , после точки zip меняем на swc . Вот вообщем и всё ! Мы сделали свой новый пакет, в котором содержится кроме основной библиотеки , дополнительная библиотека demoSWC. Не забываем сама библиотека должна находится в *Диск и путь куда установили:\StencylWorks\plaf\flash\*. Скопируйте туда свою новую библиотеку engine.swc
На этом первая часть урока закончена. Как проверить верно установился пакет ? Или нет ? Запустите StencylWorks , создайте новую игру, новую сцену и запустите. Если сцена запустилась без ошибок , то ура вы установили свой пакет !
В второй части урока, я расскажу как сделать Стенцил проект и как использовать в нём библиотечные функции из присоединенной библиотеки demoSWC. Спасибо за внимание.
P.S.
1 - Изменённый файл engine скачать тут. 2 - Оригинальный engine (это если вы потеряли, или запороли) скачать оригинал.
Сообщение отредактировал Кластер - Понедельник, 10 Октября 2011, 20:57