Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Плавные движения (перемещения, повороты и т.п.) (http://www.flasher.ru/forum/showthread.php?t=53793)

Zhihar 18.01.2004 15:27

Плавные движения (перемещения, повороты и т.п.)
 
Приветствую!
Такой вопрос:

Имеется некий символ. Как осуществить его плавные движения?

---

Дело в том, что если поставить action _y ++ и кол-во кадров в 120, то движение будет очень плавным, но (!!!) скорость перемещения не будет совпадать в необходимым, т.е 120 точек символ пройдет не за 1 сек а скажем за 5 :(

Если же сделать движение через таймер:

onClipEvent (load)
{
title_timer = new Date().getTime() ;
}

onClipEvent (enterFrame)
{
current_time = new Date().getTime() - title_timer ;

_y = _currentframe480 - 480 * current_time / 25000 ;
}


то движения, хотя и будут идти точно по графику (например 120 точек в секунду), но движения перестают быть плавными, и становятся несколько прерывистыми (поскольку 1 раз символ смещается на 2, другой раз на 3 и т.п.)

--

Есть ли другие методы для анимации сложным объектов (состоящих из большого числа кривых)?

silin 18.01.2004 21:58

а ты поставь не _y++, а _y+=k ( k привязан к fps)

Sanik 18.01.2004 22:09

А чего б не сделать совсем по простому:
onClipEvent (enterFrame) {
_y += 200;//где 200 нужное тебе значение
}

Zhihar 18.01.2004 22:48

Ну _y ++ и _y += n суть одно и тоже
дело в том, что на моем Pentium4 n будет равно 5, а на каком-нибудь Pentium Celeron 800 МГц будет равно 7.

Так как же его вычислить?
Я уже накалывался с таким эффектом :( когда в клипе была музыка и сложные векторные рисунки + растровая графика

silin 19.01.2004 21:30

т.е. fps на разных машинах будет отличаться ?
если кто копался в этом проясните вопрос

Zhihar 19.01.2004 22:38

Даже на одной машине скорости могут быть разные.
Простой пример:

делаем символ содержащий много кривых (например текст):

текст
еще немного текста
текста становится еще больше
тебепь букв просто отбавляй, их некуда девать
текста становится меньше
еще меньше текста
текст

анимируем символ _y ++ ;

+ можно сделать маску - прямогольник в котором виден текст

когда запустим ролик увидим что текст ползет вверз замедляясь, а потом убыстряясь, в зависимости от того сколько кривых (текста) на экране.

Поэтому у меня и возник вопрос - как сделать равномерное движение текста (!) с заданной скоростью (!!!)

silin 19.01.2004 23:47

я вижу только один выход: уходить на более низкие fps ,где бы все че надо заведомо завершалось за время кадра.
по ходу получается, что на медленные машины все равно не угодишь..

Zhihar 20.01.2004 00:07

Попробовал - эффект стал еще хуже :(
Но все же должен быть выход из ситуауции? Сколько клипов пересмотрел - все летает, даже со сложной графикой


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

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