Главная   Разработки   Галерея   Портфолио   Обо мне    

  Методические разработки

Flash технологии (Macromedia Flash 8)
Основной курс по ИКТ
 

 
III МОДУЛЬ

I МОДУЛЬ

II МОДУЛЬ

 

 

 

  Красноярский край  
     
  Карта Красноярского края  
 
Flash-технологии - 3 модуль
I МОДУЛЬ II МОДУЛЬ III МОДУЛЬ
  Создание интерактивных фильмов Терминология Action Script Создание сценария для кадра Переменные, операторы, функции ... Конфиденциальность. Паролирование доступа Случайное числовое значение Дублирование Drag Movie Clip - перетаскивание клипов Drag Movie Clip - перетаскивание клипов Выявление коллизий Дополнительные возможности
 

Дублирование

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

Действие Duplicate/Remove Movie Clip - создание или удаление копий экземпляров символов.

Давайте посмотрим, как использовать данное действие.

Создайте и разместите на сцене символ типа Movie Clip и присвоив имя "podarok", так как было описано ранее. Нам еще понадобится кнопка, которую мы заставим работать ксероксом, копируя символы.

Выберите из списка действий Duplicate Movie Clip в разделе Actions.

Duplicate Movie Clip - создать копию

Remove Movie Clip - удалить копию

В поле Target указывается путь к копируемому образцу, для этого поставьте курсор в это поле и нажмите кнопку внизу от поля (похожа на штурвал), в открывшемся окне появится список доступных символов (объектов), часто при работе со сложными проектами необходимый символ отсутствует в списке, такое может происходить по разным причинам (действие устанавливается в кадре, до появления символа на экране, символ может быть вложенным в другой символ или его имя генерируется автоматически), в этом случае вы указываете путь к имени символа вручную (например NameClip).

В поле New Name - указывается имя создаваемой копии, при этом могут задаваться, как произвольные имена, в случае с индивидуальным копирование, так и генерируемые скриптом, в случае многократного копирования.

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

Рассмотрим следующий скрипт:

on (release) {
name = "podarok"+ random(100);
duplicateMovieClip("podarok", name, random(100));
setProperty(name, _x, random(400)+10);
setProperty(name, _y, random(400)+10);
}

Расшифровка
- с помощью команды Set Variable задаем имя переменной name, 

- присваиваем этой переменной значение (после знака равно):

- "podarok" - новое имя объекта (копии) 

- + (склеивание)

- random(100) случайное число из диапазона от 0 до100.

В итоге значение переменной name будет равно podarokn, где n случайное число.

Далее встречается новая команда duplicateMovieClip (где мы указываем имя нашего клипа на сцене помните? - podarok и имя нового образца (сгенерированного в переменную name), ну и конечно же случайным образом заданный номер уровня.

  setProperty (name, _x, random(400)+10);

Нужно указать в какое место ролика нужно положить скопированный объект. Для этого используем команду Set Property, где указываем имя нового объекта, и расположение по оси _x, так же случайным образом. Рассмотрим от чего зависят цифры в скобках 400. Посмотрите установки своего ролика (Movie Properties, чему равна высота и ширина, от этих цифр и отталкивайтесь)

 setProperty (name, _y, random(400)+10);

Тоже самое только указываем расположение нового объекта по оси _y.

Если вы сделаете все правильно, то получите вот такой результат:

Задание

Попробуйте создать звездное небо, надеюсь это не составит труда.

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

Для реализации этого примера мы будем использовать цикл For.
На предыдущем ролике поместите нижеследующий код.
Принцип дублирования остается прежним только предыдущий код мы поместим на первый фрейм. 

Вот так он выглядит

for (i; i<100; i++) {
name = "podarok" + random(i);
duplicateMovieClip ("podarok", name, random(i));
setProperty (name, _x, random(400)+10);
setProperty (name, _y, random(400)+10);
}

for (i; i<100; i++) 
i - имя переменной (счетчик)
цикл будет выполнятся столько раз сколько указано i<100 (т. е 100 раз)
i++ увеличиваем счетчик на одну единицу.
Все что заключается между фигурными скобками называется телом цикла.

Читается эта конструкция следующим образом: Выполнять тело цикла до тех пор пока i меньше 100.
В начале выполнения цикла i=0, цикл выполняется и счетчик i увеличивается на единицу. И т. д.

 

 




   Главная   Разработки   Галерея   Портфолио   Обо мне    

Красноярский краевой Дворец пионеров и Школьников ©2005-2008