Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Поворот персонажа (http://www.flasher.ru/forum/showthread.php?t=198779)

TurboDizel 05.05.2013 23:01

Поворот персонажа
 
Допустим есть 2D платформер, игра по сетке, игрок крутиться за мышкой. Как остальным игрокам передавать мой поворот так, чтобы было плавно (но не каждый кадр, так как нагрузка на сервер будет большая)?

Tails 05.05.2013 23:21

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

Для начала, нужно создать модель игры. Затем написать класс, который будет обеспечивать обмен данными между сервером или другим клиентом. И только после всего этого, написать визуализатор модели, который будет выводит персонажа с плавным поворотом за мышкой.

Конкретно для плавного поворота, можно поворачивать спрайт игрока не мгновенно, а например по направлению к "правильному" углу с некоторой скоростью.

TurboDizel 06.05.2013 01:06

Цитата:

Сообщение от Tails (Сообщение 1132226)
Для начала, нужно создать модель игры. Затем написать класс, который будет обеспечивать обмен данными между сервером или другим клиентом. И только после всего этого, написать визуализатор модели, который будет выводит персонажа с плавным поворотом за мышкой.

Та всё это есть, вот как раз дошел до того момента, когда нужно передачу поворотов этих сделать, и боюсь что таким способом персонаж как бот будет выглядеть). Но скорее всего по другому сделать и не получится.

mikhailk 06.05.2013 01:17

Вот это вот уже прочитано?
http://www.ant-karlov.ru/PlayerIO-re...zaderzhek.html

caseyryan 06.05.2013 07:45

Можно передавать конечный угол поворота, а на другом клиенте для поворота использовать твинер.
Конечный угол можно рассчитать используя таймер, к примеру. То есть если в течение определенного времени угол поворота не меняется, или меняется незначительно (в пределах единицы, например), то считать, что персонаж закончил поворачиваться и его угол можно отправлять другим клиентам. Я бы отправлял данные в самом начале поворота, и после его завершения.

По опыту скажу, что не надо сильно мудрить с этой системой. Чем больше кода и проверок, тем больше вероятность сбоев.


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

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