Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.10.2005, 12:51
sergeyI вне форума Посмотреть профиль Отправить личное сообщение для sergeyI Найти все сообщения от sergeyI
  № 1  
Ответить с цитированием
sergeyI

Регистрация: Oct 2005
Сообщений: 8
Question Влево-вправо

Помогите, пожалуйста, я не очень давно копаюсь в Флеше, пока не понимаю, как сделать анимашку. Вероятно где-то это объяснялось, но в поиске я такого не нашел...
Ситуация:

Есть клип (мс). Нужно сделать на него скрипт для следующего движения:

1) С ускорением из точки [1] мс доезжает до точки [2]
2) Из точки [2] с замедлением доезжаем до точки [3]
3) В точке [3] останавливаемся на [n] секунд
4) Из точки [3] обратно едем в [2] с ускорением...

и все то же, но назад и по циклу (влево-вправо).

Можно было бы сделать все просто с motion tween, но это как-то не современно..
Да, чтобы это можно было применять для разных мс, переменные [1], [2], [3] и [n] нужно выделить отдельно, чтобы их можно менять от случая к случаю.
Заранее огромное спасибо.

Старый 23.10.2005, 14:04
sergeyI вне форума Посмотреть профиль Отправить личное сообщение для sergeyI Найти все сообщения от sergeyI
  № 2  
Ответить с цитированием
sergeyI

Регистрация: Oct 2005
Сообщений: 8
В принципе есть следующий вариант:

Цитата:
myButton_btn.onRelease = function() {
tweenBall(mx.transitions.easing.Regular.easeInOut);
};
function tweenBall(easeType) {
var begin = 20;
var end = 380;
var time = 80;
var mc = ball_mc;
ballTween = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time);
ballTween.onMotionFinished = function() {
this.yoyo();
};
}
Но объясните, как устанавливать определенной длины паузу на одном и другой длины на другом конце движения? И вот еще момент: Точка begin и end не должна быть все время одинаковой, т.е. надо назначить на нее random().
Да, при таком скрипте "центральную" точку движения можно смещать куда-нибудь ближе к началу или к концу?

Старый 23.10.2005, 19:08
Mr Null вне форума Посмотреть профиль Отправить личное сообщение для Mr Null Найти все сообщения от Mr Null
  № 3  
Ответить с цитированием
Mr Null

Регистрация: Oct 2005
Сообщений: 16
http://www.potapenko.com/rus/articles/conveyor.htm
читай там, всё что тебе надо есть.

Старый 24.10.2005, 13:16
sergeyI вне форума Посмотреть профиль Отправить личное сообщение для sergeyI Найти все сообщения от sergeyI
  № 4  
Ответить с цитированием
sergeyI

Регистрация: Oct 2005
Сообщений: 8
Да, спасибо, очень полезная ссылка, почитал.
Единственное, я не до конца пока освоил функции, а до конвееров мне еще подрасти надо
Можно ли добиться этого же эффекта, пусть более громоздким кодом, но попроще?

Mr Null

Если разобрался с конвеерами, дай примерчик какой-нибудь, pls.


Последний раз редактировалось sergeyI; 24.10.2005 в 14:02.
Старый 27.10.2005, 10:55
sergeyI вне форума Посмотреть профиль Отправить личное сообщение для sergeyI Найти все сообщения от sergeyI
  № 5  
Ответить с цитированием
sergeyI

Регистрация: Oct 2005
Сообщений: 8
Что ж, приходится все делать самому... Но коряво.
Цитата:
line_1(mx.transitions.easing.Regular.easeInOut);
function line_1(easeType) {
var begin = 250;
var end = -520;
var time = 1150;
var mc = line1;
l_ine1 = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time);
l_ine1.onMotionFinished = function() {
this.yoyo();
};
}
line_2(mx.transitions.easing.Regular.easeInOut);
function line_2(easeType) {
var begin = -410;
var end = 120;
var time = 348;
var mc = line2;
l_ine2 = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time);
l_ine2.onMotionFinished = function() {
this.yoyo();
};
}
line_3(mx.transitions.easing.Regular.easeInOut);
function line_3(easeType) {
var begin = 410;
var end = -120;
var time = 311;
var mc = line3;
l_ine3 = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time);
l_ine3.onMotionFinished = function() {
this.yoyo();
};
}
line_4(mx.transitions.easing.Regular.easeInOut);
function line_4(easeType) {
var begin = -10;
var end = 320;
var time = 520;
var mc = line4;
l_ine4 = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time);
l_ine4.onMotionFinished = function() {
this.yoyo();
};
}
line_5(mx.transitions.easing.Regular.easeInOut);
function line_5(easeType) {
var begin = -210;
var end = 490;
var time = 680;
var mc = line5;
l_ine5 = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time);
l_ine5.onMotionFinished = function() {
this.yoyo();
};
}
Подскажите, пожалуйста, как можно оптимизировать этот блок.
Значения начала, конца и времени не обязательно конкретные, возможно и random().

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.