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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Nov 2009
Сообщений: 5
Question SmartFoxServer + Flash = лаги при движении. почему?

Привет всем.
Вот пишу игрушку SFS + Flash.
Делаю передвижение игроков, но удаленно лагает(((
Кто компитентный в этой сфере будьте добры, объясните что не так я делаю.

Как передвигаются мои игроки:

Когда пользователь нажал на кнопку чтобы идти в какую либо сторону, он начинает идти (по таймеру с тиком 70 милисекунд) в ту сторону и включается таймер на 150 милисекунд (я его назвал antiFastTimer защита от рывков на коротких передвижений), и если пользователь за эти 150 секунд успел остановиться то посылается запрос на стоп игрока с новыми координатами для синхронизации, иначе посылается запрос сереверу с координатами что данный игрок пошел. Также вместе с запросом отправляется пинг данного пользователя (от клиента до сервера в одну сторону). Размер шага у меня 5 пикселей, НО, т.к. таймер всегда работает не идеально и на каждой машине по разному, то размер шага я высчитываю из настоящего тика (беру разницу getTime перед и после тика), подгоняю к идеальному и получается что размер шага то больше то меньше взависимости от четкости работы таймера.

Когда другие пользователи поймали запрос что игрок стал ходить, то прибавляют к его пингу свой пинг и от исходя из этого числа и координат которые он послал при движении игрок сдвигается на позицию где он сейчас должен быть и начинает также движение по таймеру.
Как только другие пользователи ловят запрос на стоп игрока, то просто останавливается таймер и синхронизируются координаты.

Когда тестирую на удаленной машине, движение смотрится коряво, не идеально (даже при пинге в 40-70 милисекунд).

Может быть SF Server работает медленно? Или чтото я делаю не так?

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

Теги
SFS , smart fox server , движение , игра

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

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


 


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


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