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

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

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

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
По умолчанию Реализовать плавное движение

Надо реализовать движение по прямой (вертикально вниз), чтоб оно было как можно менее дерганым.

Вот такой скрипт приводит к довольно дерганному движению:

Код AS3:
var c:Sprite = new Sprite();
var a:Bitmap = new MottonBlue();
c.addChild(a);
addChild(c);
c.x = 320;
var t:TweenMax = new TweenMax(c, 1, { y:450 } );
t.ease = Linear.easeNone;
t.addEventListener(TweenEvent.COMPLETE, 
    function (e:TweenEvent):void { t.restart() } );
Вариации с TweenLite/Timer/EnterFrame существенных изменений не вносят.

Возможно ли вообще сделать это? Или это предел, плавнее уже некуда?
__________________
Жду ответа, как соловей лета. (С) Морис Мосс, 'IT Crowd'

Старый 03.02.2010, 16:43
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 2  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
А frameRate(частота кадров) сколько у вас стоит? Чем выше частота, тем более плавнее будет.

Старый 03.02.2010, 16:47
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 3  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
Да не, не помогает
стоит 300)
__________________
Жду ответа, как соловей лета. (С) Морис Мосс, 'IT Crowd'

Старый 04.02.2010, 01:20
Serg65535 вне форума Посмотреть профиль Отправить личное сообщение для Serg65535 Найти все сообщения от Serg65535
  № 4  
Ответить с цитированием
Serg65535
 
Аватар для Serg65535

Регистрация: Jan 2010
Адрес: R = |z - z0|
Сообщений: 27
Возможно это не совсем то, что вам надо, но ещё существуют так называемые алгоритмы субпиксельного движения, когда за один такт нужно сдвинуть объект на расстояние, меньшее, чем один пиксель. Все они основаны на особенностях антиальясинга объекта. Если вы двигаете битмап, то это достаточно просто. Вот сходу пример этого подхода:
http://habrahabr.ru/blogs/javascript/67179/

Старый 04.02.2010, 09:47
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 5  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
попробуйте
Код AS3:
c.scaleX = 1.001 или c.scaleY = 1.001
__________________
freelance | Раздор

Старый 04.02.2010, 11:20
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 6  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
Сверхплавное движение - это, конечно, впечатляет, но у меня там шаг наверно в 7-10 пикселей, так что достаточно снизить до 1 или 2. И, кстати, у меня получилось. Я понизил фпс до 30ти, твин заменил на таймер с задержкой 2 мс, и в хэндлере таймера сделал .updateAfterEvent().

Но за статью все равно спасибо, интересная штука, раньше про это не слышал.

derhab, а что даст c.scaleX = 1.001 или c.scaleY = 1.001 ?
__________________
Жду ответа, как соловей лета. (С) Морис Мосс, 'IT Crowd'

Старый 04.02.2010, 11:40
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 7  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
Поставьте сглаживание для Bitmap.
__________________
blog.diestro.ru

Старый 04.02.2010, 13:07
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 8  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Была уже такая тема. Других вариантов нет — сделай картинке небольшой scaleX (или scaleY), например 0.99. Или, как альтернатива, уменьши высоту (или ширину) на 1.
Работает 100% — проверено.
__________________
Поймай яблоко 2!

Старый 04.02.2010, 13:37
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,590
Записей в блоге: 17
Цитата:
Сообщение от Himerets Посмотреть сообщение
Да не, не помогает
стоит 300)
300 FPS? КАК вам это удалось?

Код AS3:
var t:TweenMax = new TweenMax(c, 1, { y:450, onUpdate: upd } );
 
private function upd():void{
c.y=Math.round(c.y);
}

Старый 04.02.2010, 13:51
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 10  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
300 fps чисто номинальное число.
__________________
Блог, Twitter
Брюзга.

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

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

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


 


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


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