ActionScript 3 методы gotoAndPlay() и gotoAndStop()

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1607
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 19 ноября 2015, 19:41

Метод gotoAndStop()


ДАЛЕЕ
В новом проекте создадим анимацию - в первые 20 кадров звезда будет выезжать на середину сцены, последующие 20 кадров крутиться.

Для этого:
• Создадим звезду и разместим ее слева от сцены.
• Напротив слоя в 20 кадре нажми F6 – создание ключевого кадра
• Переместив звезду в середину сцены, щелкнем ПКМ между 1-м и 20-м кадрами и выберем Создать классическую анимацию движения
• Напротив слоя в 40 кадре нажми F6.
• Щелкни правой клавишей между 20-м и 40-м кадрами и выберем Создать классическую анимацию движения
• Выделив 20 кадр на панели Свойства в списке Поворот выберите – вращение по часовой стрелке, или – вращение против часовой стрелки.

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_1.jpg


Что бы сделать так - один раз звезда выезжать слева и постоянно крутится. Для этого нужно сделать так, чтобы ползунок анимации после 40-го кадра перескакивал не на первый кадр, а на 20-й.
Тут нам и понадобится метод gotoAndPlay();

1. Создайте новый слой для скрипта и назовите его действия.

2. В 40-м кадре слоя действиянажмём на F6

3. Откроем панель – Действия (F9) и напишем такой код:

Код: Выделить всё

gotoAndPlay(20); //ползунок анимации после попадания на 40-й кадр перескакивает на 20-й                        

Синтаксис:

Код: Выделить всё

gotoAndPlay(frameNumber) //это мы попробовали
gotoAndPlay(frameLabel)
gotoAndPlay(scene, frameNumber)
gotoAndPlay(scene, frameLabel)


  • frameNumber - Задает номер кадра, в который должен перескочить ползунок анимации
  • frameLabel - Этот аргумент задает метку кадра, в который должен перескочить ползунок анимации
  • scene - Этот необязательный аргумент задает имя сцены, в которую перейдет воспроизводящая головка. Если этот параметр не задан, то по умолчанию предполагается текущая сцена.
Чтобы применить функцию gotoAndPlay() к клипу, находящемуся вне текущей временной диаграммы, нужно использовать формат метода клипа myClip.gotoAndPlay().

Иногда бывает удобно ссылаться не на номер кадра, а на номер метки. В слое действия выделим 20 кадр и сделаем его ключевым (F6). На панели Свойства в поле Имя напишем – метка

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_2.jpg


Теперь вернитесь в 40-й кадр и измените скрипт:

Код: Выделить всё

gotoAndPlay("метка"); 


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

Метод gotoAndStop()


ДАЛЕЕ
Данный метода отличается от gotoAndPlay тем, что переводит ползунок анимации и останавливается.

Синтаксис:

Код: Выделить всё

gotoAndStop(frameNumber)
gotoAndStop(frameLabel)
gotoAndStop(scene, frameNumber)
gotoAndStop(scene, frameLabel)


Аргументы:
  • frameNumber - Задает номер кадра, в который воспроизводящая головка текущей временной диаграммы должна переместиться перед остановкой. В случае, если в этом параметре было задано число меньше 1 или больше числа кадров, то переход осуществляется на первый или последний кадр соответственно.
  • frameLabel - Этот аргумент задает метку кадра, в который должна переместиться воспроизводящая головка перед остановкой клипа. В случае, если была задана несуществующая метка, то переход осуществляется на первый кадр.
  • scene - Этот необязательный аргумент задает имя сцены, в которую перейдет воспроизводящая головка. Если этот параметр не задан, то по умолчанию предполагается текущая сцена.

Сделаем так что бы после нажатия на кнопку появляется фото автомобиля.

1. Создайте новый проект и измените цвет фона на синий.

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_3.jpg


2. В библиотеку импортируйте несколько картинок, изображающих различные авто. Файл – Импорт – Импорт в библиотеку. У меня будет 4 картинки – Ауди, БВВ, Нива, Форд.

3. Перетащите одну из картинок на сцену из библиотеки. При необходимости размер картинки можно изменить, изменив значение длины и ширины на панели – Свойства.
7
ActionScript 3 методы gotoAndPlay() и gotoAndStop()_4.jpg


4. Следующий кадр (второй) сделайте ключевым (F6). Удалите (DEL) предыдущее изображение и разместить вторую картинку. Месторасположение на сцене можно регулировать координатами X и Y

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_5.jpg


5. Выполняй пункт 4 до тех пор, пока все картинки не будут добавлены на сцену.

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_6.jpg
ActionScript 3 методы gotoAndPlay() и gotoAndStop()_6.jpg (82.59 КБ) 2283 просмотра


6. Создайте новый слой, назвав его кнопки. На нём создадим четыре кнопки.

Для этого:
• Создадим прямоугольник.
• Инструментом Текст пишем на нем Ауди , надпись должна быть Статичная.

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_7.jpg


• Конвертируем все это в кнопку, выделив кнопку и текст и нажать F8.

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_10.jpg


ActionScript 3 методы gotoAndPlay() и gotoAndStop()_8.jpg
ActionScript 3 методы gotoAndPlay() и gotoAndStop()_8.jpg (94.2 КБ) 2283 просмотра


• Кнопке даём своё имя. Свойства в поле Назначить имя экземпляра пишем имя кнопки ауди

ActionScript 3 методы gotoAndPlay() и gotoAndStop()_9.jpg
ActionScript 3 методы gotoAndPlay() и gotoAndStop()_9.jpg (87.84 КБ) 2281 просмотр


• Так проделать со всеми кнопками, меняя их названия. БМВ, Нива, Форд.

7. Создайте новый слой и назовите его действия.
Протестируй мувик. Пока все картинки очень быстро перелистываются друг за другом.

8. В первом кадре слоя действия нажав F9 пишем:

Код: Выделить всё

stop(); //позволяет остановить анимацию вначале    


Что бы кнопки заработали, код будет таким:

Код: Выделить всё

stop(); //позволяет остановить анимацию вначале
ауди.addEventListener(MouseEvent.CLICK, ауд); /*это мы создаем слушателя для события щелчок. 
Регистрируем функцию, которую назвать можно, как захочется. 
Но лучше давать интуитивно понятное название. 
Я назвал ауд и т.д*/

function ауд(event:MouseEvent):void { //прописываем функцию
gotoAndStop(1); /*а вот и цель нашего урока. При нажатии на кнопку – Ауди, пользователь будет попадать в первый кадр, на котором находится первая картинка – Ауди.*/
}

//аналогично для других кнопок.
бмв.addEventListener(MouseEvent.CLICK, бм);
function бм(event:MouseEvent):void {
gotoAndStop(2);
}

нива.addEventListener(MouseEvent.CLICK, нив);
function нив(event:MouseEvent):void {
gotoAndStop(3);
}

форд.addEventListener(MouseEvent.CLICK, фор);
function фор(event:MouseEvent):void {
gotoAndStop(4);
}
[center]i love you [s]mxIni[/s] Mysql[/center]


Вернуться в «Adobe Flash»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость