Целью данных заметок было описание собственного опыта, первых шагов при работе с PrimalScript 3.1. Этим и займемся.
Сначала нам не понравилось: среда казалась недружелюбной, сложной, глючной и непривычной. Но стоило произвести необходимые настройки рабочей среды и проекта, -- и отношнение к PS3 изменилось радикально.
Следующий пример создания простейшего проекта описывает все необходимые для этого шаги. Помните: это только одна из возможных последовательностей действий, и в ходе работы вы несомненно обнаружите свои, лучшие варианты.
В данной последовательности будем предполагать, что работы ведутся в каталоге "D:\Swf\Projects\". Если у вас этот путь будет иным, не забудьте учесть это при воспроизведении следующих шагов:
В результате вы увидите структуру проекта (пока это всего строка и папка) в Нексусе Проекта. Познакомимся с Нексусом. "Нексус" означает "связующее звено", "ядро" (см. nexus и нексус). Nexus -- это боковая панель (слева) окна PS3. Эта панель предназначена для навигации (и управления) по: рабочему пространству и проектам (Workspace Nexus), классам (Sourcebrowser Nexus), файлам (File Nexus), справке (Info Nexus), сниппетам (Snippets Nexus) и т.д. Для этого в ней предусмотрены раличные закладки, отображающиеся внизу панели.
"Нексус проекта" предназначен для управления файлами и каталогами проекта (в том числе и файлами классов, как увидим позже). Чтобы увидеть его, выберите первую закладку в панели Нексуса. В ней вы увидите корневой каталог проекта. Выше него находится строка-ссылка на файл TestProject.pws - в нем и хранится описание проекта и его настроек. Это обычный XML-файл.
Только что мы создали рабочее пространство с первым проектом в нем. В дальнейшем можно будет добавлять рабочее пространство новые проекты, если будет такая необходимость.
trace("Hello PrimalScript World :)");
Сохраните файл (Ctrl+S) как "D:\Swf\Projects\TestProject\Scripts\script.as".
Заметьте, если в нексусе проекта удалить "script.as" (например, выделить его и нажать клавишу Delete), файл изчезает в нексусе проекта, но его физического удаления с диска не происходит. Дело в том, что нексус проекта -- это не просто дубликат структуры каталогов на вашем жестком диске, хотя им он тоже может быть. На самом деле, он может даже содержать несуществующие (виртуальные) папки, например, для включения в проект файлов, находящихся на другом разделе диска: это очень пригодится нам при работе с более сложными проектами, с использованием классов, например. В данном простейшем примере мы не будем использовать классы (для упрощения первых шагов).
Для создания FLA-файла воспользуемся языком JSFL. Одна из наших целей -- максимально использовать PrimalScript как автономную среду. Поэтому:
Напишите в этот новый файл код подобный следующему:
// создаем новый документ var doc = fl.createDocument(); // инклудим файл, созданный на третьем шаге: var firstFrame = fl.getDocumentDOM().getTimeline(0).layers[0].frames[0]; firstFrame.actionScript='#include "Scripts/script.as"'; // сохраняем документ fl.saveDocument(doc, "file:///D:/Swf/Projects/TestProject/testprimalproject.fla"); // сразу же тестируем doc.testMovie(); // закрываем исходный файл fl.closeDocument(doc);
Сохраните файл как "D:\Swf\Projects\TestProject\Scripts\createFla.jsfl"
6. Добавьте файл "createFla.jsfl" в проект аналогично тому, как этобыло сделано на шаге 4.
Теперь осталось только запустить мотор. Естественно, есть несколько (множество) способов сделать это. Воспользуемся таким: мы заставим Flash MX выполнять JSFL-код, записанный в нашем jsfl-файле "D:\Swf\Projects\TestProject\Scripts\createFla.jsfl". Для этого нужно только сообщить среде PrimalScript, что мы этого хотим.
Меню Tools > Options... Environment > Languages > Flash JSAPI. В первое текстовое поле вводим путь к Flash.exe. Второе текстовое поле (Arguments) можно заполнить, нажав кнопку со стрелкой справа от него и выбрав из выпадающего списка пункт ("Path and name of file in the active editor window (driver,folder,name and extension)"; Можно просто ввести в это текстовое поле строку "$File$". Жмем ОК.[скриншот]
Только что мы сообщили, среде PS3.1, что файлы с расширением JSFL посредством Flash.exe интерпретируются как скрипт. Для всех таких типов файлов, для которых задано интерпретирующее приложение, в среде PS имеется встроенная операция "Run Script", меню Script > Run Script (F7). В качестве аргумента интерпретатору мы только что указали файл, открытый в текущем активном окне среды разработки.
Это означает, что если вы сейчас нажмете F7, то запустится Flash MX 2004, выполнит "createFla.jsfl", создаст и сохранит на диске "testprimalproject.fla" и перейдет в режим TestMovie, в результате чего в окне "Output" среды Flash MX 2004 отобразится:
Hello PrimalScript World :) Это приложение было создано автоматически при помощи среды PrimalScript + JSFL
Завтра добавим к этому проекту классы.