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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.03.2010, 19:43
john.brown вне форума Посмотреть профиль Отправить личное сообщение для john.brown Найти все сообщения от john.brown
  № 1  
Ответить с цитированием
john.brown

Регистрация: Oct 2009
Сообщений: 18
Question Анимация дергается

Увидеть можно тут - http://makslasperons.lv/index.php
Анимация делаеться програмно. Код примерно такой:
Код AS3:
package com {
	...
	public class Train extends Sprite {
		private var cars:Array = [];
		private var distance:int = 0;		
		private var speed:Number = 20;
		private var main:Main;
		public var moving:Boolean = false;
		private var srvData:Object;
 
		private static const TOP_POS:int = 13;
		private static const BRAKING_DIST:int = 500;
		private static const BK:Number = 0.962;
		....
		public function setDistance(distance:int) {			
			this.distance = distance;
		}
		public function go(evt:Event):void {			
			this.moving = true;
			if(this.x > this.distance || this.speed < 0.1) {
				removeEventListener(Event.ENTER_FRAME, this.go);
				this.moving = false;
				return;
			}
			if(BRAKING_DIST > this.distance - this.x) {
				this.speed = this.speed * BK;
			}
			this.step(this.speed);
		}
		/**
		* Train single step move
		*/
		public function step(dist:Number):void {
			this.x = this.x+dist;
			dispatchEvent(new TrainEvent(dist));
		}
	}
}
Что уже пробовал делать - заменить вагончики на гифы, использовать Tween, пользовать цельночисленное смещение. Ничего из этого кардинально ситуацию не улучшает, а последний вариант еще и остановку делает резкой.

Вобщем, помогите, плз.

Старый 09.03.2010, 19:51
hobbit1 вне форума Посмотреть профиль Отправить личное сообщение для hobbit1 Найти все сообщения от hobbit1
  № 2  
Ответить с цитированием
hobbit1

Регистрация: Aug 2008
Сообщений: 77
Отправить сообщение для hobbit1 с помощью ICQ
Мне кажется, что скакать может из-за большого количества объектов, и уменьши скорость, а то глаза в кучка сразу же становятся.

Старый 09.03.2010, 20:00
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Плюс к этому еще могут подмешиваться система прерывания винды. И да, со скоростью нужно что-то делать.

Старый 10.03.2010, 00:22
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не очень понятно, что подразумевается под "дергается". Ну да, текстфиелды стремятся быстрее отреагировать на перемещение, чем тормознутые вагончики. Может это и есть "дерганье"...
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 10.03.2010, 01:55
john.brown вне форума Посмотреть профиль Отправить личное сообщение для john.brown Найти все сообщения от john.brown
  № 5  
Ответить с цитированием
john.brown

Регистрация: Oct 2009
Сообщений: 18
Скорость снизил, fps увеличил. Вроде, немного лучще стало, но все равно не очень. Щас fps=62.

КорДум, а есть какие то идеи, как это проверить, и как обойти? Если, конечно, возможно...

dimarik, дерганье проявляеться как кратковременное застывание движения и искажение вертикальных линий.

Старый 10.03.2010, 03:30
AndrewAndart вне форума Посмотреть профиль Отправить личное сообщение для AndrewAndart Найти все сообщения от AndrewAndart
  № 6  
Ответить с цитированием
AndrewAndart

Регистрация: Mar 2010
Сообщений: 9
у меня похожая проблемка.
я двигаю растровую картинку - а она перемещается дергано ступеньками.
сначала думал что дело в большом размере картинки, но потом сделав тест с маленькой картинкой - понял что дело не в этом.
шаг 3 пикселя, координаты - целые числа.
Пробовал разные способы описанные в этом форуме и scallY и cacheAsBitmap
ничего не помогло. Где то тут попадалась ссылка на описание похожей проблеммы на официальном адобовском сайте. там предложен ряд решений которые "возможно смогут помочь", но мне не помогло. Запостил новую тему - найду решение поделюсь.

Старый 10.03.2010, 08:42
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Обойти? Нет, процессор выполняет команды, которые ему подаются последовательно. И конечно же, он может отвлекаться на сторонние задачи. Просто иногда это не заметно глазу. Вы же встречались с такой ситуацией, когда набираете текст, а он отображается только через несколько секунд?

Старый 10.03.2010, 18:31
john.brown вне форума Посмотреть профиль Отправить личное сообщение для john.brown Найти все сообщения от john.brown
  № 8  
Ответить с цитированием
john.brown

Регистрация: Oct 2009
Сообщений: 18
Вобщем, я так понимаю, что решения нету? Суп какой...

Старый 10.03.2010, 19:51
AndrewAndart вне форума Посмотреть профиль Отправить личное сообщение для AndrewAndart Найти все сообщения от AndrewAndart
  № 9  
Ответить с цитированием
AndrewAndart

Регистрация: Mar 2010
Сообщений: 9
я в своей теме получил ответ от модератора что эти дергания - "это особенность Flash Player". И что если мой "дерганый" ролик просматривать плеером 10.1 beta 3 то он не дергается. Я пока не проверял.

Старый 10.03.2010, 20:21
john.brown вне форума Посмотреть профиль Отправить личное сообщение для john.brown Найти все сообщения от john.brown
  № 10  
Ответить с цитированием
john.brown

Регистрация: Oct 2009
Сообщений: 18
Ну, я свой посмотрел в 10.1beta1 - может, чуть лучше стало, но дерганье все равно осталось.

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

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

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


 


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


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