Flash от dim_ok

Форум посвящен flash творческим работам от dim_ok. На сайте представлено моё творчество и очень полезная информация для flash дизайнеров. На сайте сможете сделать заказ на flash баннер, раскрутку сайта, рекламное размещение, создание сайта.


Вы не подключены. Войдите или зарегистрируйтесь

gotoAndPlay

Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

1 gotoAndPlay в Сб Фев 18, 2012 6:15 pm

Admin


Admin
http://demiart.ru/forum/index.php?showtopic=134695

ActionScript 3. Урок 3. Методы gotoAndPlay() и gotoAndStop().

Привет. Меня зовут Оксана. Я решила написать серию уроков по ActionScript 3 для самых самых новичков (потому что я сама не так давно этим занимаюсь). У меня стоит Flash CS4, русифицированный (к сожалению). Если нам с вами буду нужны какие-то пункты меню, то буду писать их как на английском, так и на русском.
Объективную критику обожаю. А также если вдруг перевру в каких-то терминах, то буду рада исправлениям .
Надеюсь, ты уже ознакомился(лась) с первым и вторым уроком. Тогда давай сразу переходить к обучению.

Метод gotoAndStop()

Пример 1:
1. В новом проекте создай анимацию: В первые 20 кадров звезда вылетает на середину сцены, последующие 20 кадров звезда крутится.
Кратко о том, как это сделать:
• Создай звезду(звезда должна быть сгруппирована) и размести ее слева от сцены.
• Напротив слоя в 20 кадре нажми F6 – создание ключевого кадра
• Звезду перемести в середину сцены
• Щелкни правой клавишей между 1-м и 20-м кадрами и выбери Motion tween – Анимацию движения. Для CS4 выберите Classic tween – Классическую анимацию движения
• Напротив слоя в 40 кадре нажми F6.
• Щелкни правой клавишей между 20-м и 40-м кадрами и выбери Motion tween – Анимацию движения. Для CS4 выберите Classic tween – Классическую анимацию движения
• Выдели 20 кадр.
• На панели Properties - свойства в списке Rotate – Поворот выбери CW – вращение по часовой стрелке, или CCW – вращение против часовой стрелки.

2. Протестируй ролик:


primer_3.1.swf ( 893 байт ) Кол-во скачиваний: 46981


Анимация, если она зацикленная, будет воспроизводиться так: вначале звезда вылетает, потом она крутится; затем снова вылетает, снова крутится и тд.

Задача: Сделать так, чтобы ползунок анимации после 40-го кадра перескакивал не на первый кадр, а на 20-й. Тогда мы получим такую анимацию: Один раз звезда вылетает слева и постоянно крутится.
Вот тут нам и понадобится метод gotoAndPlay();

3. Создай новый слой для скрипта. Назови его «action»

4. В 40-м кадре нажми F6 (Если писать скрипт в кадре, который не является ключевым, то он привяжется к предыдущему ключевому кадру; в нашем случае к 1-му)

5. Окрой панель Action – Действия (F9)

6. Напечатай такую строку:
CODE
gotoAndPlay(20); //ползунок анимации после попадания на 40-й кадр перескакивает на 20-й


7. Протестируй ролик


primer_3.2.swf ( 1.18 KB ) Кол-во скачиваний: 46873


Немного теории:

Синтаксис:
CODE
gotoAndPlay(frameNumber) //это мы попробовали
gotoAndPlay(frameLabel)
gotoAndPlay(scene, frameNumber)
gotoAndPlay(scene, frameLabel)


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

8. Иногда бывает удобно ссылаться не на номер кадра, а на номер метки. Напротив слоя action выдели 20 кадр и сделай его ключевым (F6). На панели Properties – Свойства в поле Frame Lable – Имя метки впечатай – «metka»

9. Теперь вернись в 40-й кадр и измени скрипт:
CODE
gotoAndPlay(“metka”);


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

Метод gotoAndStop()
- отличается от метода gotoAndPlay тем, что переводит ползунок анимации и останавливается.
Синтаксис:
CODE
gotoAndStop(frameNumber)
gotoAndStop(frameLabel)
gotoAndStop(scene, frameNumber)
gotoAndStop(scene, frameLabel)


Пример2: После нажатия на кнопку появляется фото города
Кнопки, при нажатии на которые будет показываться город.


primer_3.3.swf ( 123.65 KB ) Кол-во скачиваний: 49775


1. Создай новый проект.

2. Измени цвет фона на серый

3. В библиотеку импортируй несколько каринок, изображающих различные города. File – Import – Import ro library; (Файл – Импорт – Импорт в библиотеку). У меня будет 4 картинки – Париж, Санкт-Петербург, Рим, Вена.

4. Перетащи одну из картинок на сцену из библиотеки. При необходимости размер картинки можно изменить, впечатав значение длины и ширины на панели Properties – Свойства.

5. На слое второй кадр сделай ключевым. Удали предыдущее изображение и в середину сцены разместить вторую картинку.

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


7. Создай новый слой. Назови его – «button» (кнопки).

8. Мне понадобиться 4 кнопки.
• Создаю прямоугольник.
• Размещаю на нем надпись инструментом Text. Кстати надпись должна быть Static – Статичная.
• Конвертирую все это в кнопку, выделив и нажав F8.
• И так проделать со всеми кнопками


9. Каждой кнопке дай своё имя экземпляра – Instance name.


Париж – parizh_btn
Санкт-Петербург – saint_btn
Рим – rim_btn
Вена – vena_btn

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

11. В первом кадре слоя «action» напечатай:
CODE
stop(); //позволяет остановить анимацию вначале


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

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

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

rim_btn.addEventListener(MouseEvent.CLICK, rimF);
function rimF(event:MouseEvent):void {
gotoAndStop(3);
}

vena_btn.addEventListener(MouseEvent.CLICK, venaF);
function venaF(event:MouseEvent):void {
gotoAndStop(4);
}



Вот и все Ты молодец!!

Посмотреть профиль http://dimok.u-gu.ru

Предыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения