![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2010
Сообщений: 34
|
Здравствуйте.
Необходимо было сделать плавное движение. Поставил таймер с интервалом в 1, получилось плавно, но медленно. Где-то прочитал, что количество кадров в секунду влияет и на таймеры, то есть если стоит 24 кадра в секунду, то минимальный интервал будет около 40 мс. Вкрутил в свойствах документа до 120, стало летать в самой программе, раза в полтора побыстрее стало, если запустить локально, и точно так же осталось на сайте. Глянул в html'е, создаваемом publish'ем, ничего про framerate там не нашел. Как убыстрить анимацию? |
|
|||||
|
с каким фрейрейтом публикация сегенерена, с тем она и будет всегда.
ФПС - может прыгать, в зависимости от нагрузки процессора графикой. а таймер он по времени тикает, которое есть объективная реальность и неизменна ![]() все прочее - рывки, сглаживание - улучшайте графику. или пример выложите. |
|
|||||
|
Регистрация: May 2010
Сообщений: 34
|
Ну не знаю, не знаю. Точно говорю - у меня фреймрейт документа влияет на скорость объекта, движущегося по таймеру. Я и сам думал, что таймер по времени считает, ан нет. Вы проверьте на простеньком примере.
UPD: Поставил 1 в свойствах документа - ужосужосужос. Рывками и с черепашьей скоростью. Во всей флешке 1 кадр, движение на таймерах, а вот поди ж ты... Последний раз редактировалось Follower; 03.04.2011 в 20:35. |
|
|||||
|
да я как бы так слегка не знаю что проверить.
таймер - это таймер. я сейчас кучу примеров хоть простеньких хоть сложных изображу ![]() но если он каждые 100 мсек с таймера получает _х+=1, то он имено так у меня и двигается всегда ![]() вы свой код лучше покажите, так мы барыжить до морковкиного заговения будем ![]() другое дело если у вас на движение где-то onEnterFrame повешен. Так это слегка совсем другое дело. |
|
|||||
|
Регистрация: May 2010
Сообщений: 34
|
var Tim:Timer = new Timer(1,125);
Tim.addEventListener(TimerEvent.TIMER, tick);
Tim.addEventListener(TimerEvent.TIMER_COMPLETE, end);
function tick(e:TimerEvent):void
{
for (i=endN-wNum; i<=endN; i++)
{
imgLoader[cycle][i].x += sh;//again no 'if' :)
}
}
Может, дело в том, что их 5 одновременно двигается? UPD: Timer frequency is limited to 60 frames per second, meaning a delay lower than 16.6 milliseconds causes runtime problems. - с сайта adobe. 60 fps - это 2 секунды движения, вместо нужных мне 0.5. Ну ладно же. Сделал по 3 пикселя зараз, стало терпимо. Последний раз редактировалось Follower; 03.04.2011 в 21:18. |
|
|||||
|
Модрон-ветеринар
|
updateAfterEvent() попрбуйте после каждого цикла изменения координат.
__________________
Идите первым! |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 215
|
Может дело в wmode? Попробуйте при публикации в window выставить.
|
|
|||||
|
EventDispatcher.addEventListener()
Availability:Flash Player 6 (6.0.79.0). Edition:Flash MX 2004 and Flash MX Professional 2004. Хм. Ну.... это нечто оочень старое. Под 6-й плэер. Вполне возможно что оно будет глючить ![]() Tim:Timer = new Timer - это из АС3 ? Я что-то в результате не могу понять, на какаом языке это написано и под какой плэер? ![]() |
|
|||||
|
Никогда не получалось добиться плавного движения объектов через использование Timer(), setTimeout(), setInterval(). Видимо они изначально не предназначаются для таких вещей (в AS3.0, во всяком случае). Но, частота кадров, действительно, не может влиять на частоту срабатывания таймера, возможно движение, просто, лучше сглаживается из за высокой частоты.
Лучше используйте Tween() из пакета fl.transitions., там можно задавать как кадровую длительность выполнения, так и временную (последней, правда, не пользуюсь). |
|
|||||
|
Модрон-ветеринар
|
setInterval + updateAfterEvent() либо onEnterFrame при хорошем fps дают нормальную плавность движения.
А tween лучше использовать от Greensock, тот же TweenLite. Я, например, давно на него перешел от встроенного Tween. Вот сравнительные тесты разных твинов.
__________________
Идите первым! |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|