Перейти к содержимому


× Быстрый вопрос
Пользователь месяца
Olya23 Olya23 1-й за Июнь
Очков активности: 1 278 3 темы, 133 сообщения, 6 баллов репутации
ТОП самых активных за этот месяц
  • Фотография web-coder
    #1

    web-coder (good-hoster.ru)
    Очков активности: 850.5 0 тем, 63 сообщения, 9 баллов репутации

  • Фотография Rodiola
    #2

    Rodiola (rukodelkovo.ru)
    Очков активности: 201 1 тема, 64 сообщения, 2 балла репутации

  • Фотография FIvYUr
    #3

    FIvYUr (moy-evroopt.ru)
    Очков активности: 84 1 тема, 25 сообщений, 2 балла репутации

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 78 Вне конкурса за определение пользователя месяца

  • Фотография Андрей WPMasterKZ
    #5

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 60 1 тема, 17 сообщений, 2 балла репутации

  • Фотография Megoydagi
    #6

    Megoydagi (24ho.ru)
    Очков активности: 57 3 темы, 10 сообщений, 2 балла репутации

  • Фотография maxnik
    #7

    maxnik (konovalovpavel.ru)
    Очков активности: 48 0 тем, 16 сообщений, 2 балла репутации

  • Фотография lena220678
    #8

    lena220678
    Очков активности: 34.5 2 темы, 17 сообщений, 1 балл репутации

  • Фотография лоуренс
    #9

    лоуренс
    Очков активности: 27 3 темы, 9 сообщений, 1 балл репутации

  • Фотография WGN
    #10

    WGN (worldgamenews.com)
    Очков активности: 21 1 тема, 11 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.06.2019
  • Яндекс выдача: 12.07.2019
Топ 5 участников по репутации


Функция Tween() в Action Script 3.0

#1 Banderas

Banderas
  • Неактивные
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 23 Февраль 2010 - 18:56

Должен был разбирать чисто для себя, но подумал что это будет интересно и другим пользователям. Заодно узнаю правильно ли я всё понял :) Собственно виновник темы:
пс. без атача не разобраться ;)

import fl.transitions.Tween; // импорт библиотеки Твин
import fl.transitions.easing.*; // Импорт всех(*) разделов библиотеки изин
var homeX:Number = 955; // задаём координаты мувиклипа (клипа) при выборе раздела хоум
var homeY:Number = 767; 
var newsX:Number = -402; // задаём координаты мувиклипа (клипа) при выборе раздела нювс
var newsY:Number = 558;
var aboutX:Number = 661; // задаём координаты мувиклипа (клипа) при выборе раздела ебаут
var aboutY:Number = -307;
var xTween:Tween; // задаём переменные для функции движения 
var yTween:Tween;
xTween = new Tween(main_mc, "x", Strong.easeInOut, main_mc.x,homeX,2, true); // присваиваем переменным параметры движения; движение будет происходить от 
yTween = new Tween(main_mc, "y", Strong.easeInOut, main_mc.y,homeY,2, true); // координат в которых находится сейчас клип, до координат клипа в разделе хоум 
home_btn.addEventListener(MouseEvent.CLICK, navigate); // присваимваем функцию навигейт кнопочкам
news_btn.addEventListener(MouseEvent.CLICK, navigate);
about_btn.addEventListener(MouseEvent.CLICK, navigate);
function navigate(event:MouseEvent):void {
	if (event.target == home_btn) { // если предмет который выполняет событие есть хоум_батн, тогда выполняем функцию сетТвин
		setTween(homeX, homeY); 
	} 
	else if (event.target == news_btn) { // аналогично
		setTween(newsX, newsY);
	}
	else if (event.target == about_btn) { // аналогично
		setTween(aboutX, aboutY);
	}
}
function setTween(tweenX:Number,tweenY:Number):void { // вот в этом куске кода я "дупля не режу", что тут задаётся
	xTween.begin = main_mc.x; // анимация движения начинается с координат, в которых находится клип
	yTween.begin = main_mc.y;
	xTween.finish = tweenX; // заканчивается там, где указанно в переменных, при запросе функции
	yTween.finish = tweenY;
	xTween.start(); // начинаем анимацию движения
	yTween.start();
}
xTween.stop(); // нафиг их сюда? 
yTween.stop();

Если у кого стоит Макромедиа или старый флеш, то постараюсь растолковать что и как я делал... Но для начала смотрим флешку _http://megaswf.com/view/079f84fcac0cce0a7dc9ec6fb3e81c20.html
Есть 3 квадратика: красный - хоум, зелёный - нювс и жёлтый - ебаут. Изначально они расположены так: красный вверху слева, зелёный вверху справа, жёлтый на месте (затупил хД). Эти 3 квадратика есть один мувиклип main_mc. Для отображения одного из квадратиков, этот мувиклип просто перемещается по координатам хоум, нювс и эбаут, которые я задал и всунул в переменные. Надеюсь понятно :)
Прикрепленный файл  TweenIMG.zip   18,15К   Количество загрузок: 183

 

 

  • 0

I'm web-developer 

Magento one love!



#2 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Февраль 2010 - 21:24

Banderas, Tween() это не функция, это создание объекта, так как предворено new.
У тебя в примере создаются 2 объекта tween c которыми ты потом работаешь, это xTween и yTween.

Вообщем дам тебе ссылку на конструктор Tween(), мы его как раз и используем.
И распишу тебе каждый из параметров, передаваемых объекту.

Параметры
obj:Object — Объект, являющийся целями Tween.

prop:String — Имя свойства (значение параметра obj) на которое будет направлено воздействие.

func:Function — Имя используемой функции замедления.

begin:Number — Начальное значение параметра prop.

finish:Number — Число, указывающее конечное значение параметра prop (целевого объекта, подвергаемого анимации движения).

duration:Number — Продолжительность движения. Если значение отрицательное или пропущено, устанавливается значение infinity.

useSeconds:Boolean (default = false) — Флаг, определяющий использование секунд вместо кадров. Функция использует секунды, если значение флага — true, или кадры относительно значения, определенного в параметре duration, если значение флага — false.


По поводу класса Strong из библиотеки easing читать здесь

В нашем примере:
xTween = new Tween(main_mc, "x", Strong.easeInOut, main_mc.x,homeX,2, true);
main_mc - объект, над которым совершаем действия Tween
"x" - означает что мы будем совершать действия над main_mc.x
Strong.easeInOut - означает, что мы будем использовать резкое замедление из библиотеки easing
main_mc.x - начальное значение воздействия это текущее положение мувиклипа по оси X
homeX - конечным значением будет положение области Home по координате X
2 - Длительность анимации движения в кадрах или секундах
true - означает, что используем количество секунд, а не кадров
yTween = new Tween(main_mc, "y", Strong.easeInOut, main_mc.y,homeY,2, true);
main_mc - объект, над которым совершаем действия Tween
"y" - означает что мы будем совершать действия над main_mc.y
Strong.easeInOut - означает, что мы будем использовать резкое замедление из библиотеки easing
main_mc.y - начальное значение воздействия это текущее положение мувиклипа по оси Y
homeY - конечным значением будет положение области Home по координате Y
2 - Длительность анимации движения в кадрах или секундах
true - означает, что используем количество секунд, а не кадров

P.s.: А вот всё про класс Tween
  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru