Иллюстрированный самоучитель по Director MX

         

Экскурсия 19А: Знакомство с использованием Lingo в трехмерной среде


Существует много способов использования возможностей скриптов Lingo. Если вы являетесь продвинутым пользователем, то сможете написать свой собственный скрипт Lingo, чтобы вершить великие дела в трехмерном мире. Однако если вы не специалист по Lingo, то он может показаться вам слишком сложным. В этой экскурсии мы постараемся вам коротко объяснить, как используются некоторые базовые скрипты Lingo в трехмерной среде. Тем не менее, вы обнаружите в практическом упражнении, что есть и более легкий путь, чтобы начать работу в 3D-среде.

1. Создайте новый фильм и выберите Modify | Movie | Properties, чтобы установить размеры сцены 320x240.

2. Добавьте 3D-элемент труппы, выбрав Insert Media Element | Shockwave 3D. Теперь откроется окно Shockwave 3D, отображающее черное пространство.

3. В поле Cast Member Name вверху окна Shockwave назовите элемент труппы SdWorld, а затем закройте окно.

4. Перетащите элемент труппы 3dWorld в кадр 1 канала 1 партитуры. По умолчанию 3D-спрайты устанавливаются в 320x240, что как раз подходит к размерам нашей сцены.

5. Откройте окно Message, выбрав Window | Message.

6. Откройте Object Inspector, выбрав Window Object Inspector.

7. Расположите различные окна так, чтобы лучше видеть ваше окно Message, Object Inspector и сцену, как показано на рис. 19.11.



Рис. 19.11. Расположение окна Message, Object Inspector и сцены

Без использования 3DPI Xtra (который вы будете использовать в последующем материале) мы будем ограничены в выборе средств. Director MX выпускается с набором реакций на события, которые полезны для начального периода работы, но если вам нужно будет приспособить 3D-проект для определенной цели, то вы будете иметь в распоряжении только трехмерные текстовые элементы труппы, Object Inspector и ваши творческие способности работы с Lingo.

Одним из наилучших встроенных инструментов для понимания содержания трехмерного элемента труппы и манипулирования им является Object Inspector. Помещая в Object Inspector ссылку на трехмерный элемент труппы или спрайт трехмерного элемента труппы [например, member(«my3dworld») или sprite(l)}, вы получаете доступ ко всей информации, касающейся событий, происходящих в этом трехмерном мире. С помощью расширения имен вы можете находить и даже изменять некоторые свойства. Используя окно Message, вы можете создавать скрипты, изменяющие свойства и объекты, и просматривать результаты. Продолжим выполнять шаги экскурсии.

8. Изучите панель Object Inspector. Дважды щелкните в пустом пространстве ниже поля Name, а затем напечатайте Member(«3dWorld»). (Это имя не чувствительно к регистру, и заглавные буквы в каждом слове нужны для облегчения чтения имен.) Нажмите клавишу Enter. Это имя теперь стало ссылкой к нашему элементу труппы (обратите внимание на появившийся символ «плюс» (+) слева от имени).

9. В Object Inspector щелкните по символу «плюс» (+) слева от нового имени. Теперь откроется всплывающее меню со списком информации, относящейся к трехмерному элементу труппы, как показано на рис. 19.12.



Рис. 19.12. Всплывающее меню символа «плюс» слева от имени объекта

10. Заголовки для каждого типа объекта, показанные в меню, могут раскрываться дальше и показывать дальнейшие опции. Однако здесь еще не представлено много информации, кроме объектов каждого типа, установленных по умолчанию. Поэтому наша сцена пока остается пустой.

Единственным способом добавления новых объектов без применения 3DPI Xtra является использование Lingo. Продолжим выполнять шаги.

11. В окне Message щелкните по кнопке Alphabetic 3D Lingo, показанной на рис. 19.13. Выберите newModelResource.


Рис. 19.13. Кнопка Alphabetic 3D LJngo в окне Message

Подсказка

Быстрым способом открыть определение любого слова Lingo является щелчок правой кнопкой по этому слову в окне Script и последующий выбор Lingo Help.

12. Director сейчас сгенерировал корректный синтаксис для создания ресурса сферической модели. Так как для вас уже выделено whichMember, то напечатайте3dWorld вместо этой фразы. Замените другие «подмены» так, чтобы теперь строка читалась следующим образом:

R = member(«3dWorld»).ne-wModelResource(«ballResource», #sphere)

Такой подход позволяет вам видеть синтаксис, необходимый для вашей задачи. Вам только нужно помнить необходимую вам команду, которой в этом случае является newModelResource.

13. Поместите курсор в конец строки и нажмите клавишу Enter.

R является произвольной переменной, которая в данный момент содержит ссылку к только что созданному вами ресурсу. Устанавливая переменную R таким способом, вы облегчаете дальнейшую работу и поддерживаете операторы Lingo в кратком и управляемом виде. Отметьте для себя, что R означает Resource.

14. Вы создали ресурс сферы, но не сферическую модель, и поэтому все еще ничего не видите на сцене. Давайте создадим модель из ресурса сферы.

15. Окно Message должно быть открыто. Если нет, то откройте его. В новой строке, ниже вашего предыдущего сообщения, напечатайте следующее.

Meraber(«3dWorld»).Newmodel(«ball», R)

Обратите внимание на использование R в этой строке. Вы только что приказали Director'y создать новую модель с именем ball, используя R как ее ресурс.

На данный момент вы также ничего не увидите на сцене, так как фильм еще не запущен и сцена не обновляется.

16. В окне Message в новой строке, ниже последней напечатанной вами строки, напечатайте updateStage, а затем нажмите клавишу Enter.

17. В Object Inspector щелкните по символу «плюс» (+) слева от заголовка modelResource. Внутри вы найдете два ресурса модели: plane(«defaultModel»), который вы создали при добавлении элемента труппы, и ваш новый ресурс сферы, обозначенный в списке как sphere(«battResource»). (Вам, может быть, придется немного расширить Object Inspector, чтобы прочитать правый столбец.) Обратите внимание, что каждый из этих ресурсов также имеет слева символ «плюс» (+), указывающий на то, что внутри имеются дополнительные свойства.

18. Щелкните по символу «плюс» (+) слева от plane(«defaultModel»). Изучите перечисленные свойства, как показано на рис. 19.14.



Рис. 19.14. Свойства внутри plane(«DefaultModel»)

Некоторые перечисленные свойства (такие как Name и Туре) не могут быть изменены, но другие можно изменять. Для создания сферы достаточно было двух простых строк. Хотя это было не так трудно, но все же хорошо было бы обойтись без всего этого печатания. Теперь настало время установить 3DPI Xtra и действительно пойти вперед. Этот файл сохранять не нужно.



Содержание  Назад