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]

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