50890

Создание простых сценариев в Flash 8

Лабораторная работа

Информатика, кибернетика и программирование

Прежде чем приступить к созданию сценария вспомните что: Сценарий это небольшой независимый блок кода который помещается в кадр анимации или присваивается экземпляру символа чаще кнопке реже клипу. Сценарий срабатывает при зданнoм событии; например при показе данного кадра при щелчке на кнопке или при загрузке клипа. Сценарий составляется из операторов коротких команд выполняющих одно действие например: переход на заданный кадр остановку головки воспроизведения на какомлибо кадре загрузку в браузер заданного файла и т. Сценарий...

Русский

2014-02-01

229.5 KB

9 чел.

ЛАБОРАТОРНАЯ РАБОТА

Дисциплина: «Flash технологии»

Специальность: 230105(51) «Программное обеспечение вычислительной техники и автоматизированных систем»

Тема занятия:

Создание простых сценариев в Flash 8

Практическая часть

Задание: Ознакомьтесь с алгоритмами назначения сценариев кнопке, клавише, клипу и кадру во FLASH 8. Создайте последовательно шесть сценариев согласно инструкциям ниже.

Прежде чем приступить к созданию сценария вспомните, что:

Сценарий - это небольшой независимый блок кода, который помещается в кадр анимации или присваивается экземпляру символа (чаще кнопке, реже клипу).

Сценарий срабатывает при зaданнoм событии; например при показе данного кадра, при щелчке на кнопке или при загрузке клипа.

Сценарий составляется из операторов - коротких команд, выполняющих одно действие, например: переход на заданный кадр, остановку головки воспроизведения на каком-либо кадре, загрузку в браузер заданного файла и т. д. Поэтому авторы программы Flash часто называют операторы действиями.

Сценарий обработки одного события может состоять из одного или сразу из нескольких операторов.

При создании сценария вы должны определить:

  •  во-первых, событие, то есть время или условие, при котором должен выполняться первый оператор;
  •  во-вторых, последовательность операторов, то есть что и в каком порядке надо сделать;
  •  в-третьих, целевой маршрут каждого опеpатоpа, то есть клип или загруженный фильм, в котором его нужно выполнить.

Операторы в сценарии выполняются по порядку, от начала до конца, если только в них не встречается условный оператор или оператор цикла, отсылающий к другому месту. Исключением являются только операторы перехода на другой кадр, которые всегда выполняются последними в сценарии, где бы они ни находились.

Пaнeль Actions (Действия)

Сценарий создаются в панели Actions (Действия). Эта панель постоянно находится внизу экрана, над инспектором свойств (рис. 1). Вызвать ее на экран можно командой Window  Actions (Окно Действия).

B заголовке панели рядом c ее названием вы видите, что выделено в фильме: кадр, кнопка или клип. Панель действий ведет себя слегка по-разному в этих тpех случаях Операторы неприменимые к выделенному объекту, блокируются.

Панель действий состоит из трех окон. Левое верхнее окно называется Actions Toolbox (Инструменты действий). Оно содержит список операторов, классов, функций и других конструкций языка ActionScript, разложенных по папкам. B папке Components (Компоненты) находятся готовые элементы интерфейса, такие как кнопки, списки переключатели и т. д. B папке Deprecated (Устаревшие) лежат конструкции, которые применялись в более старых версиях Flash. Они будут работать и сейчас, но лучше использовать новые методы.

Рис. 1. Панель действий

В папке Index (Указатель) собраны все имеющиеся в языке ActionScript конструкции, расположенные по алфавиту. Желтым цветом выделяются все операторы и конструкции, не соответствующие версии Flash Player, выбранной в окне настройки публикации.

Сценарий создается в окне Script (Сценарий). Это белое окно справа. Вы можете вводить там текст сценария, как в текстовом редакторе. Кроме того, можно перетаскивать отдельные строки из левого окна c инструментами или дважды щелкать на нужных строках. B окне сценария появляется "рыба" оператора или другой конструкции, где вместо имен экземпляров стоят общие обозначения типа instanceName.

После вставки, пока курсор находится внутри пустых скобок, вы видите всплывающую подсказку, какие параметры нужно задать для данного оператора. Эта же подсказка появляется, когда вы вводите оператор вручную, после ввода круглой открывающей скобки. Иногда вместо подсказки раскрывается список, в котором вам просто нужно выбрать нужный параметр.

Чтобы получить подсказку позднее, установите курсор правее круглой открывающей скобки и щелкните на кнопке Show Соdе Hint (Показать подсказку к коду) или выполните одноименную команду из меню панели.

Более подробную подсказку можно получить, если щелкнуть на операторе или на другой конструкции правой кнопкой и выбрать в контекстном меню команду View Help (Посмотреть подсказку). Щелкать можно как в окне сценария, так и в списке инструментов. При этом на панели Help (Помощь) открывается нужная страница справочника по языку ActionScript.

Левое нижнее окно - навигатор сценария. В нем представлена логическая структура фильма. Здесь вы видите иерархию символов, то есть в каком порядке вложены символы друг в друга. В отдельных списках представлены символы, которые находятся на сцене, для каждой сцены свой список. В списке Symbol Definitions (Определения символов) вы видите символы, имеющиеся в библиотеке. В списки навигатора входят только те символы, в которых есть зашитые сценарии или к экземплярам которых привязан сценарий. В разделе Current Selection текущее выделение) вы видите, какой кадр, клип или кнопка сейчас выделены. Если выделено что-либо иное, будет сообщение о том, что текущее выделение не может иметь сценария. Для основного фильма и для каждого клипа или графического символа перечислены кадры, к которым привязан сценарий.

Таким образом, вы легко можете найти сценарий любого элемента вашего фильма. Достаточно щелкнуть на нужной строке навигатора, и соответствующий сценарий появляется в правом окне. Если вы щелкнули в разделе Scene N, то соответствующий объект или кадр выделяется на сцене или на временной линейке.

Настройка панели действий

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

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

Для включения показа нумерации строк в сценарии выберите команду View Line Numbers (Показывать номера строк) в меню панели или в меню, вызываемом кнопкой View Options (Параметры просмотра). В этом же меню вы можете включить режим Word Wrap (Перенос слов). В этом режиме слова, которые выходят за пределы окна сценария, автоматически переносятся на новую строкy.

Flash способен выделять разными цветами названия операторов, функций, свойств и некоторые другие конструкции языка, если они введены правильно. Это позволяет легко контролировать их синтаксическую правильностъ и искать в тексте. Эти цвета вы можете выбрать в окне настройки редактора Preferences, на вкладке ActionScript. Можно вообще отключить этот режим работы, сняв флажок Syntax Colors Code coloring (Раскраска синтаксиса). В этом случае весь текст сценария будет черным или того цвета, который вы выберете с помощью индикатора Foreground (Основной) в окне настройки. В разделе Text (Текст) можно изменить гарнитуру и кегль используемого шрифта.

При выделении разных объектов и кадров содержимое окна сценария автоматически обновляется. Но можно "прикрепить" текущий сценарий к окну: вы будете видеть его в окне и иметь возможность его редактировать, перемещаясь по кадрам основного фильма или любого клипа. Для этого щелкните на кнопке  Pin active script (Пришпилить активный сценарий) под окном сценария. Не держите его пришпиленным без необходимости, вы можете забыть, что редактируете сценарий не текущего объекта или кадра, а совсем другого. Чтобы освободить сценарий, щелкните на этой кнопке еще раз. Можно пришпилить несколько сценариев. Их обозначения (значок кадра, клипа или кнопки вместе с именем "хозяина" сценария или номером кадра) появляются под окном сценария. Вы можете переключаться между сценариями, щелкая, на этих обозначениях.

Редактирование сценария

Чтобы добавить к сценарию новый оператор, перетащите его из левого окна в окно сценария. Он появится на месте курсора. Если в сценарии есть выделенный фрагмент, новый оператор будет введен вместо него. Там же он вставляется, если вы дважды щелкнете на операторе в левом окне.

Чтобы переместить оператор в сценарии, выделите его и нажмите клавиши Ctrl+X (кнопки на панели инструментов в окне сценария не работают). Затем установите курсор в месте вставки и нажмите Ctrl+V. Для удаления оператора выделите его и нажмите клавишу Del.

Использование справочника

При вводе сценария очень удобно пользоваться контекстным справочником по языку ActionScript, Чтобы получить справку по какой-либо конструкции языка, выделите ее в левом окне панели действий и щелкните на кнопке Help (Помощь). На панели откроется нужная страница справочника по языку ActionScript. В каждой справке имеется пример использования данной конструкции. Очень удобно использовать такие примеры для сокращения работы по вводу сценария. Для этого выделите командные строки примера и выберите в контекстном меню команду Сору (Копироватъ). Перейдя в окно сценария, щелкните в месте вставки и выберите в контекстном меню команду Paste (Вставить). Останется только изменить некоторые параметры или идентификаторы.

Проверка и тестирование сценария

Чтобы проверить сценарий на наличиe синтаксических ошибок, выполните команду Check syntax (Проверить синтаксис) меню панели или щелкните на одноименной кнопке над окном сценария. По выполнении проверки ошибочные строки выводятся в конец окна Output (Вывод). Помимо обычных ошибок, выявляются несоответствия сценария версии Flash Рlауеr, выбранной в окне настройки экспорта.

Если синтаксический ошибок в сценарии не найдено, нет гарантии, что он будет работать корректно. Для тестирования сценария выполните команду Control  Test Movie (Управление Тестировать фильм) или нажмите Ctrl+Enter.

Экспорт, импорт и печать сценария

Текст сценария можно экспортировать в текстовый файл, а затем импортировать его в дpугoй фильм. Вы можете редактировать его в любом текстовой рeдaкторе.

Для экспорта текущего сценария выполните команду Ехроrt Script (Экспортировать сценарий) меню панели действий. Найдите папку  для хранения файла и введите его имя. Файлу будет дано расширение * .as.

Чтобы импортировать сценарий, выполните команду Import Script (Импортировать сценарий) и дважды щелкните на имени нужного файла. Импортированный сценарий вставляется на месте курсора.

Командой Print (Печать) отправляется на печать текущий сценарий.

Поиск и замена

Чтобы в длинном сценарии быстро перейти на нужную строку, выполните команду Go to Line (Перейти к строке) меню панели и введите ее порядковый номер в диалоговом окне. Выделение переместится на эту строку.

Если нужно найти в сценарии заданный текст, например: название оператора, функции, имя клипа или комментарий, используйте команду Find and Replace (Найти и Заменить) или одноименную кнопку в окне сценария. B поле Find what (Что найти) диалогового окна введите контекст, который вы ищете, и щелкните на кнопке Find Next (Найти следующее). Для того чтобы при поиске учитывался регистр символов, установите флажок Match Case (Учитывать регистр). В окне команды замены Replace выставляются параметры замены (рис. 2).

Следующий поиск осуществляется командой Find Again (Найти еще) или F3.

Рис. 2. Окно поиска и замены

Автоматическое форматирование

При вводе сценария вы можете ввести все в одну строку, но для проверки лучше использовать традиционное paзмещение операторов и их параметров: c размещением скобок на новых строках, c отступами и т. д. Flash может сам переформатировать текст сценария, перенеся его в нужных местах на новые строки, сделав нужные отступы и добавив или убрав пробелы. Для переформатирования сценария достаточно щелкнуть на кнопке Auto format (Автоматическое форматирование) или выбрать в меню панели одноименную команду.

Правила форматирования вы можете выбрать сами. Для этого выполните команду Auto Format Options (Параметры автоматического форматирования).

Назначение сценария кнопке или клавише

Для назначения кнопке сценария выделите ее экземпляр на сцене и откройте панель Actions (Действия). Первым всегда должен стоять оператор on. Этот оператор называется обработчиком события. Обработчик служит для определения события, при котором будут выполнены операторы, записанные внутри его фигypных скобок. B круглых скобках записывается само событие.

В папке Global Fuctions  Movie Clip Control (Действия Управление фильмом) дважды щелкните на операторе или перетащите в окно сценария. Обработчик (заготовка со всеми нужными скобками) будет введен автоматически, и внутри круглых скобок раскроется список всех возможных событий. Таким событием является щелчок на кнопке, что соответствует параметру release. Выберите его в списке, дважды щелкнув на нужной строке. В левом окне появится следующий сценарий:

on (release) {

}

Кроме этого, в списке имеются следующие события:

  •  press (Нажать) - кнопка была нажата, когда указатель находился на кнопке;
  •  release (Отпустить) - кнопка мьши была нажата и отпущена, когда указатель находился на кнопке, то есть событием является щелчок на кнопке;
  •  release0utside (Отпустить снаружи) - кнопка мыши была отпущена, когда указатель находился не на кнопке;
  •  roll0ver (Переместить над) - указатель мыши оказался над кнопкой;
  •  roll0ut (Переместить из) - указатель мыши был над кнопкой, но вышел за ее пределы;
  •  dragOver (Протащить над) - кпопка мыши нажата, когда указатель был над кнопкой, затем его вывели за пределы кнопки, а потом снова туда вернули, попрежнему держа нажатой кнопку мыши;
  •  drag0ut (Вытащить из) - кнопка мыши была нажата над кнопкой, затем указатель вывели за ее пределы при все еще нажатой кнопке мыши;
  •  keyPress "Right' - нажата клавиша Right (Вправо); кроме этого, есть целый набор обработчиков нажатия для других клавиш.

Если кнопка должна вести себя, как пункт меню, то есть в инспекторе свойств и раскрывающемся списке Options for Buttons (Параметры кнопок) для нее выбран режим Track as Menu Item (Как пункт меню), то некоторые события имеют другой смысл, а событие release0utside (Отпустить снаружи) вообще не обрабатывается. Событие dragOver (Протащить над) происходит, когда указатель перемещают на кнопку при нажатой кнопке мыши, drag0ut (Вытащить из) - когда указатель сдвигают с кнопки при нажатой кнопке мыши. В обоих случаях не имеет значения, когда имeнно была нажата кнопка мыши.

Можно задать не одно, а несколько инициирующих выполнение сценария событий, записав их внутри круглых скобок через запятую, например:

on (release, keyPress "<PageUp>") {}

Сценарий будет выполнен либо при щелчке на кнопке, либо при нажатии клавиши PgUp.

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


Выполнение:

Задание 1: Используя файл biplanes.fla, назначьте сценарий кнопкам.

  1.  Откройте файл biplanes.fla.
  2.  Выделите синюю кнопку и перетащите в окно сценария оператор on.
  3.  В списке событий выберите строку release и дважды щелкните на ней.
  4.  Введите после слова release запятую. При этом снова появится список событий. Дважды щелкните на строке с нажатием любой клавиши, например keyPress "<PageUp>". Затем отредактируйте строку, заменив <РаgeUр> буквой s.
  5.  Введите на новой строке оператор stop (). Можно перетащить его из левого окна из папки Global Fuctions  Timeline Control. Сценарий кнопки должен выглядеть так:

on (release, keyPress "s") {

stop ( );

}

  1.  Выделите весь сценарий и скопируйте его клавишами Ctrl+C.
  2.  Выделите на сцене красную кнопку и вставьте в окне сценария копию сценария клавишами Ctrl+V. Отредактируйте сценарий, заменив stop оператором рlау и клавишу s клавишей р:

on (release, keyPress "р") {

play ( ):

}

  1.  Нажмите клавиши Ctrl+Enter и протестируйте фильм. При щелчке на синей кнопке или нажатии клавиши s фильм должен останавливаться, при щелчке на красной кнопке и нажатии клавиши р снова запускаться. Останавливается только основной фильм, а пропеллеры-клипы продолжают крутиться.
  2.  Выполненное задание предъявите преподавателю для контроля.

Назначение сценария клипу

Чтобы назначить сценарий экземпляру клипа, выделите его на сцене и введите оператор - обработчик события onClipEvent. Он определяет событие, при котором должен выполняться сценарий. Как и обработчик событий для кнопки, он находится в папке Global Fuctions  Movie Clip Control (Действия  Управление фильмом). В списке событий, который раскрывается сразу после ввода оператора, вы можете выбрать:

  •  load (3агрузка) -загрузка клипа, то есть появление его на временной линейке основного фильм. Это событие задается чаще всего;
  •  enterFrame (Вход в кадр) - событие происходит при проигрывании каждого нового кадра клипа; сценарий, заключенный в теле этого обработчика событий, выполняется прежде остальных сценариев, относящихся к этим кадрам;
  •  unload (Разгрузка) - начато проигрывание первого кадра основной временной линейки после того, как клип закончился;
  •  mouseDown (Кнопка мыши нажата) - нажали левую кнопку мыши;
  •  mouseUp (Кнопка мыши отпущена) - отпустили левую кнопку мыши;
  •  mouseMove (Движение мыши) - указатель мыши переместился;
  •  keyDown (Клавиша нажата) - нажали какую-либо клавишу;
  •  keyUp (Клавиша отпущена) - отпустили какую-либо клавишу;
  •  data (Данные) - получены данныe при выполнении оператора loadVariables или loadMovie.

Для примера выполните уупражнение, в котором клип сразу после загрузки начинает воспроизводиться не с начала, а с заданного кадра.

Задание 2: Используя файл fishes.fla, назначьте сценарий клипу.

  1.  Откройте файл fishes.fla. На сцене находятся две рыбки, это два экземпляра клипа Fish Movie Clip. Просмотрите фильм в среде тестирования. Рыбки плывут синхронно сначала влево, потом вправо. Сделайте так, чтобы они двигались в противофазе. Для этого пусть один из клипов начинается сразу с середины.
  2.  Выделите один экземпляр клипа на сцене, на панели действий откройте папку Global FuctionsMovie Clip Control (ДействияУправление фильмом) и перетащите в окно сценария оператор onClipEvent. В раскрывшемся списке событий выберите событие load. В окне появится такой сценарий:

onClipEvent (load) {

}

  1.  В папке Global FuctionsTimeline Control (ДействияУправление временной линейкой) найдите оператор gotoAndPlау. При его выполнении происходит переход к кадру клипа, введенному в круглых скобках, после чего проигрывание клипа продолжается дальше.
  2.  Установите курсор перед последней фигурной скобкой обработчика и дважды щелкните на операторе gotoAndPlау. Он введется на месте курсора. Вы увидите всплывающую подсказку:

1 of 2 gotoAndPlay (frame);

Это значит, что всего у оператора может быть два параметра: один обязательный и один необязательный. Вам сейчас показывают только один, обязательный. Чтобы увидеть, как будет выглядеть оператор при задании двух параметров, щелкните на правой стрелочке. Второй параметр - имя сцены. У вас только одна сцена.

  1.  Введите в круглых скобках оператора gotoAndPlау номер кадра 48 (весь клип длится 96 кадров). Таким образом, весь сценарий будет выглядеть так:

onClipEvent (load) {

gotoAndPlay (48);

}

  1.  Нажмите клавиши Ctrl+Enter и проверьте, правильно ли реагирует клип на сценарий. Сразу после загрузки выделенного клипа с рыбой произойдет переход на 48-й кадр, то есть клип начнет показываться сразу с середины.
  2.  Выполненное задание предъявите преподавателю для контроля.

При таком способе назначения сценария он будет записан только для данного экземпляра клипа. Для других экземпляров того же клипа можно задать другие сценарии. Однако, если "зашить" сценарий внутрь клипа, то есть назначить его какому-либо кадру клипа в режиме его редактирования или создать кнопку внутри клипа и назначить ей какой-либо сценарий, то сценарий будет присутствовать во всех экземплярах данного клипа.

Назначение сценария кадру

Если какое-либо действие должно выполняться при достижении головкой воспроизведения заданного кадра, выделите этот кадр и откройте панель Actions (Действия). Поскольку наступление кадра уже есть событие само по себе, обработчик не нужен, и надо задать только действие.

Сценарий можно присваивать только ключевым кадрам. Кадр со сценарием отмечается на временной шкале маленькой буквой а. Как правило, результат работы такого сценария можно увидеть прямо в окне документа.

Задание 3: Задайте цикл определенной части фильма двумя способами.

  1.  Откройте файл goto.fla. Это файл со сложным движением, клип с Луной и 3емлей сначала прилетает из-за сцены, а уже потом делает виток вокруг Солнца. При просмотре фильма клип после каждого витка будет пропадать и появляться из-за сцены. Сделайте так, чтобы он приблизился только один раз, а потом уже вращался по постоянной орбите вокруг Солнца. Для этого после последнего кадра фильма требуется сделать переход сразу на 30-й кадр.
  2.  Выделите последний ключевой кадр на слое Земля-Луна и щелкните на кнопке  на панели поведения (Behaviors). В меню выберите команду Movieclip ► Goto and Play at frame or label (Клип ► Перейти на кадр или метку и играть).
  3.  В меню в структуре фильма выберите строку root. Так обозначается основной фильм, так как он находится в корне структурного дерева клипов. В нижнем поле введите номер кадра 30. Щелкните на кнопке ОК.
  4.  Протестируйте фильм, нажав клавиши Ctrl+Enter. Просмотрите сформированный сценарий.
  5.  Закройте файл без сохранения. Вы использовали готовый сценарий.
  6.  Повторно откройте файл goto.fla. Задача осталась таже, но в данном случае вам непосредственно предстоит назначить сценарий.
  7.  Снова выделите последний ключевой кадр на слое Земля-Луна и перетащите в окно сценария оператор gotoAndPlау или введите его вручную. В круглых скобках введите номер кадра 30. Сценарий должен выглядеть так:

gotoAndPlay (30);

  1.  Протестируйте фильм, нажав клавиши Ctrl+Enter.
  2.  Выполненное задание предъявите преподавателю для контроля.

Идентификация клипов

Клипы - независимые фильмы. Они могут иметь собственную независимую временную линейку, хотя и быть вставлены в основной фильм. Использование клипов делает работу с фильмами более гибкой. Клипы могут быть вложенными, то есть клип может сам содержать несколько клипов, а те, в свою очередь, содержать другие клипы. Клип, содержащий внутри себя клипы , является для них родительским, а они для него являются дочерними.

Язык ActionScript позволяет управлять не только основным фильмом, но и вставленными в него клипами, а также независимыми фильмами, загружаемыми в основной фильм программно (Такие фильмы также можно считать клипами.) Их можно дублировать, удалять, менять некоторые их свойства, такие как прозрачность, размеры, положение на сцене, видимость и т. д. Можно также сделать так, что клип будет перемещаться вслед за указателем мыши.

Точно так же выполняется идентификация кнопок, текстовых полей и других объектов языка ActionScript.

Имена клипов

При определении действий над клипом необходимо идентифицировать этот клип. Для этого используются имена. Имя дается не символу-клипу, а его экземпляру на сцене, так что разным экземплярам можно дать разные имена и управлять их проигрыванием независимо. Имя надо ввести в поле Instance Name (Имя экземпляра) инспектора свойств.

Задание 4.1: Используя файл complex.fla, сделайте так, чтобы при щелчке на кнопке клип становился невидимым. Используйте имена клипов.

  1.  Откройте файл complex.fla. Это тот же файл со сложным движением, но к нему добавлена кнопка, а само Солнце вращается.
  2.  В первом кадре выделите на cцене экземпляр клипа Земля-Луна, а в инспекторе свойств задайте для него имя – Moon.
  3.  Выделите кнопку и назначьте ей сценарий, состоящий из обработчика on и одного оператора SetProperty. Вы найдете его в одной папке с обработчиком, а именно в папке Global FuctionsMovie Clip Control (Глобальные функции Управление клипами). У этого оператора три параметра. Первый- идентификатор клипа, его надо ввести в кавычках, – "Moon". Второй параметр - свойство клипа. В данном случае это его свойство бытъ невидимым или видимым, оно записывается как _visible. И третий параметр - значение этого свойства. Чтобы клип стал невидимым, оно должно быть равно нулю. Значение также надо ввести в кавычках. После ввода всех параметров сценарий должен выглядеть так:

on (release){

setProperty ("Moon", _visible, "0");

}

  1.  Нажмите клавиши Ctrl+Enter и протестируйте фильм. После щелчка нa кнопке клип пропадает.
  2.  Выполненное задание предъявите преподавателю для контроля.
  3.  Верните файл к исходному состоянию командой FileRevert (Файл Возвратить). Просмотрите фильм в исходном виде, нажав клавиши Ctrl+Enter.

Задание целевого маршрута

По умолчанию все операторы выполняют действие в пределах той временной линейки, на которой находится кадр или кнопка, которым они назначены. Например, если оператор stop или goto находится в основном фильме, то он будет останавливать именно его, а переход будет выполняться на заданный кадр основной временной линейки.

Если же вам надо выполнить действие внутри временной линейки клипа, надо задать маршрут этого клипа явным образом. Для этого служит оператор with, который записывается следующим образом:

with (имя клипа) {}

Операторы, записанные в фигурных скобках, будут действовать на клип или фильм, имя которого записано в круглых скобках. Для ясности выполним упражнение.

Задание 4.2: Используя файл complex.fla, выполните остановку клипа.

  1.  Файл complex.flа с предыдущего задания у вас открыт. Солнце вращается вокруг собственной оси, вокруг него вращается Земля, а вокруг нее - Лунa.
  2.  Выделите кнопку и назначьте ей оператор stop (остановка) в ответ на событие release. Нажмите клавиши Ctrl+Enter и просмотрите фильм. Поскольку оператор stop находится в основном фильме, щелчок по кнопке приводит к остановке именно основного фильма. Клип же продолжает работать: Луна вращается вокруг теперь уже неподвижной Земли.
  3.  Выделите на сцене экземпляр клипа Земля-Луна и в инспекторе свойств задайте для него имя – Moon.
  4.  Снова выделите кнопку и вставьте перед оператором stop оператор with. Вы найдете его в папке StatementsVariables (ОператорыПеременные), но удобнее просто ввести его вручную. Введите в cкoбкax имя клипа - Moon.
  5.  Удалите закрывающую фигурную скобку оператора with и введите ее в конце сценария. Щелкните на кнопке Auto Format (Автоматическое форматирование), чтобы сценарий приобрел общепринятый вид. Это не обязательно, но удобнее проверять большие сценарии. Сценарий должен выглядеть следующим образом:

on (release) {

 with (Moon) {

 stop( );

 }

}

  1.  Снова просмотрите фильм в среде тестирования. На этот раз Луна не вращается вокруг Земли, а все остальное продолжает двигаться.

Оператор with умеет работать не только с клипами, но и с другими объектами, например массивами, строками и т. д.

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

Целевой маршрут можно задавать двумя способами:

  •  абсолютным;

Абсолютный маршрут не зависит от местонахождения сценария. Для каждого клипа он постоянен и начинается с уровня, на который загружен фильм. Основной фильм всегда находится на нулевом уровне, который записывается как _level0. Чтобы указать путь к вложенному клипу, за номером уровня перечисляют имена клипов в порядке вложенности.

  •  относительным.

Относительный целевой маршрут зависит от того, где расположен сценарий, то есть откуда начинается поиск. Для обозначения клипа, в котором находится сценарий, используется ключевое слово this. Чтобы спуститься по иерархической лестнице вглубь клипов, перечисляются через точку их имена, как и в абсолютном целевом маршруте, а чтобы подняться на ступеньку вверх, используется ключевое слово parent.

Для примера рассмотрим схему фильма (рис. 3), где кроме морского пейзажа имеются два клипа: ship (корабль) и boat (шлюпка). На корабле есть анимированные персонажи, выполненные в виде дочерних клипов с именами: captain (капитан), wheelman (рулевой) и passenger (пассажир с собакой). В клип с пассажиром вложен еще один клип dog (coбaкa) с анимацией собаки.

Рис. 3. Схема вложенности клипов

Абсолютный целевой маршрут клипа с собакой:

_level0.ship.passenger.dog

Абсолютный целевой маршрут клипа с первым матросом:

_level0.boat.sailor1

Относительный целевой маршрут клипа ship, если сценарий расположен в клипе dog, будет таким:

_parent._parent

Чтобы добраться до клипа sailor1 из клипа captain, используют маршрут:

_parent. _parent .boat .sailor1

При задании относительного маршрута можно начинать сразу с основного фильма, который всегда обозначается ссылкой root. Таким образом, последний маршрут можно записать так:

_root .boat .sailor1

Фильм, который первым загружается в программу Flash Player, размещается на нулевом уровне. Далее вы можете подгружать программно другие фильмы, задавая для них свои уровни. Уровни имеют аналогию со слоями. Объекты и клипы уровней с большими номерами закрывают собой уровни с меньшими номерами. Например, если в использованном примере шлюпка - это не клип, а фильм, загруженный на уровень 3, то клипы sailor1 и sailor2 будут заслонять собой клип ship и все объекты на основной временной линейке.

При наличии нескольких уровней ссылка root всегда означает основную временную линейку того фильма, в котором расположен сценарий. Например, если сценарий находится в клипе sailor1 фильма со шлюпкой, то маршрут клипа sаilог2 можно записать так:

_root .sailor2

Если же сценарий находится в одном из клипов основного фильма, например в клипе captain, то тот же маршрут нужно обязательно начать с названия уровня, на который загружен фильм:

_leve13.sai1or2

Целевой маршрут удобно вставлять автоматически. Для этого установите курсор туда, куда надо вставить маршрут, и щелкните на кнопке Insert а target path (Вставить целевой маршрут) над окном сценария. В открывшемся диалоговом окне (рис. 4) все имеющиеся в фильме экземпляры клипов представлены в виде дерева, аналогичного дереву папок в Проводнике Windows. Раскрывая папки, дойдите до нужного клипа и выделите его. Затем щелкните на кнопке ОК.

Рис. 4. Окно задания целевого маршрута

По умолчанию записывается относительный маршрут. Для задания абсолютного маршрута выберите переключатель Absolute (Абсолютный).

Задание 5: На основе файла target.fla, сделайте так, чтобы на 85-м кадре корабль исчезал, а на 134-м появлялся снова, используя целевой маршрут.

  1.  Откройте файл target.fla. Просмотрите его в отдельном окне, нажав клавиши Ctrl+Enter.
  2.  В слое action выделите ключевой кадр на отметке 85.
  3.  Откройте панель действий и из папки Global Functions Movie Clip Control (Действия Управление клипами) перетащите в окно сценария оператор SetProperty.
  4.  Установите курсор внутри круглых скобок и щелкните на кнопке Insert а target path (Вставить целевой маршрут).
  5.  В диалоговом окне раскройте клип a11, щелкнув на значке с плюсом рядом с ним, и выделите строку ship (это имя дано экземпляру клипа с кораблем). Щелкните на кнопке ОК.
  6.  Справа от маршрута введите запятую, за ней свойство visible, а справа от него значение "0", которое соответствует исчезновению клипа. Сценарий должен выглядеть так:

setProperty(this.all.ship._visible, "0");

  1.  Выделите ключевой кадр на отметке 134 и задайте для него точно такой же сценарий, но вместо значения 0 введите 1, чтобы клип снова стал видимым.
  2.  Нажмите клавиши Ctrl+Enter для просмотра фильма в среде тестирования.

Оператор with может быть вложенным, то есть задание маршрута разбивается на этапы, и на каждом этапе можно задавать переменные и выполнять какие-либо операторы.

Задание 6: В фильме sea.fla есть клип sea, а в нем - клипы ship (корабль) и sun (солнце). Создайте для кнопки сценарий, по которому корабль и солнце будут менять свою прозрачность, задаваемую свойством _alpha. Используйте оператор with.

  1.  Откройте файл sea.fla.
  2.  Выделите синюю кнопку и введите для нее следующий сценарий (целевой маршрут можно задавать так же, как в предыдущем задании):

on (release) {

with (sea.ship) {

_alpha = 30;

}

with (sea.sun){

_alpha = 50;

}

}

  1.  Протестируйте фильм, нажав клавиши Ctrl+Enter. При щелчке на синей кнопке корабль и солнце будут становиться полупрозрачными. Перепишите тот же сценарий по-другому, создав вложенные операторы with:

on (release) {

with (sea) {

with (ship) {

_alpha = 30;

}

with (sun){

_alpha = 50;

}

}

}

  1.  Проверьте, чтобы синяя кнопка выполняла теперь то же самое.

Резюме

Чтобы выполнить действие над клипом или загруженным фильмом, требуется задать его идентификатор. Идентификатор состоит из целевого маршрута клипа и его имени. Идентификатор загруженного фильма состоит только из названия уровня, но если он загрузился на место клипа, то у него будет идентификатор этого клипа.


ship
(корабль)

captain (капитан)

wheelman (рулевой)

assenger (пассажир с собакой)

dog (собака)

sailor1 (матрос1)

sailor2 (матрос2)

boat (шлюпка)


 

А также другие работы, которые могут Вас заинтересовать

46111. Характеристика педагогических систем воспитания детей с речевыми нарушениями. Проблемы интеграции детей дошкольного возраста с речевыми нарушениями 23.5 KB
  Характеристика педагогических систем воспитания детей с речевыми нарушениями. Проблемы интеграции детей дошкольного возраста с речевыми нарушениями.подготовка к обучению грамоте и овладение элементами грамоты Системы логопедического и педагогического обследования детей дошкольного возраста с речевыми нарушениями В целом проводится комплексное психологопедагогическое обследование психолог педагоги логопед Цель: выявить отклонения направить ребенка в соответствующее образовательное учреждение Задачи обследования: 1....
46112. Семейное воспитание детей с нарушениями речи: содержание, формы, и стили семейного воспитания 14 KB
  Семейное воспитание детей с нарушениями речи: содержание формы и стили семейного воспитания. Семья основная на браке или кровном родстве малая группа члены которой связаны общностью быта взаимной моральной ответственностью в ней вырабатываются совокупность нормы и образцов регламентирущих взаимодействий между супругами детьми детей между собой. детоцентрическая – все интересы подчинены ребенку детей формируется высокая самооценка 3.сексуальноэротическая Специфические функции семей имеющих детей с нарушениями в развитии 1.
46113. Принципы, задачи, содержание логоритмического воспитания детей с речевой патологией 26 KB
  Принципы задачи содержание логоритмического воспитания детей с речевой патологией. Принципы ЛР. Общедидактические принципы 1. принцип наглядности Обуславливает широкое взаимодействие показателей всех внешних и внутренних анализаторов.
46114. Коррекционно-образовательное значение литературы в обучении школьников с ТНР 18.5 KB
  Развитие речи в школе Vвида – специальный вид деятельности учителя и учащихся направленных на овладение речью. Vв используется 3 основных подхода к литературному развитию учащихся школы общего назначения: психолингвистический лингводидактический методика преподавания литературы МПЛ 1 психолингвистический подход Достижение наибольшей эффективности работы по развитию речи на уровне литературы способствует применение психолингвистического подхода Психолингвистический термин Речевая деятельность система речевых действий...
46115. Предмет и задачи начального обучения математике детей с речевыми нарушениями 12.5 KB
  Предмет и задачи начального обучения математике детей с речевыми нарушениями. МПМ методика преподавания математике – наука предметом которой является обучение математике на всех уровнях обучения начиная с дошкольного учреждения и заканчивая высшей школой. объект содержание методы средства Обучение математике решает развивающие образовательные воспитательные задачи: 1 образовательные : Ученики должны получить знания умения: представления о натуральном числе и числе 0.
46116. Лингвистические и психологические основы методики развития речи детей. Задачи, принципы и направления работы по развитию речи 13.5 KB
  Лингвистические и психологические основы методики развития речи детей. Задачи принципы и направления работы по развитию речи. деятельности по формированию речи у детей дошкольного возраста. Задачи работы по развитию речи направления работы : Воспитание ЗКР.
46117. Значение изобразительной деятельности в воспитании детей и коррекции у них речевых нарушений 14 KB
  Включение речи в познавательные процессы восприятие представление воображение без которых не может развиваться изобразительная деятельность оказывает положительное влияние на развитие личности ребенка. В свою очередь хорошо организованные занятия рисованием представляют сильное средство развития речи.Развитие речи в процессе изобразительной деятельности осуществляется в нескольких направлениях: вопервых происходит обогащение словаря вовторых осуществляется становление и развитие речи как средства общения втретьих совершенствуется...
46118. Психологические и лингвистические основы теорий речевой деятельности. Язык, речь, речевая деятельность 13.5 KB
  Язык речь речевая деятельность. предмет речевая деятельность как целое и закономерности ее комплексного моделирования. Речевая деятельность акт. Речевая деятельность имеет предметное содержание определенную структурную организациювнешнюю и внутреннюю подчиняется общефункционнальным психическим механизмамвнимание память Язык = речь Щерба: троякий аспект языкового явления эксперимент в языкознании: сам процесс речевой деятельностипроцесс; языковая системакод; языковой материал.
46119. Современные принципы анализа высших психических функций. Речь в системе психических процессов. Модели порождения речевого высказывания 10.5 KB
  Стахостическая модель Миллер – Хомский опирается на идею вероятности появления единицы на основе уже использованной. Модель Чарльза Осгуда Модель Хомского – трансформирования. Модель Миллера Модель Т.