![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Допустим есть 2D платформер, игра по сетке, игрок крутиться за мышкой. Как остальным игрокам передавать мой поворот так, чтобы было плавно (но не каждый кадр, так как нагрузка на сервер будет большая)?
|
|
|||||
|
При постановке такого вопроса, создание мультиплеерной игры кажется мало возможной.
Для начала, нужно создать модель игры. Затем написать класс, который будет обеспечивать обмен данными между сервером или другим клиентом. И только после всего этого, написать визуализатор модели, который будет выводит персонажа с плавным поворотом за мышкой. Конкретно для плавного поворота, можно поворачивать спрайт игрока не мгновенно, а например по направлению к "правильному" углу с некоторой скоростью.
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Та всё это есть, вот как раз дошел до того момента, когда нужно передачу поворотов этих сделать, и боюсь что таким способом персонаж как бот будет выглядеть). Но скорее всего по другому сделать и не получится.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Вот это вот уже прочитано?
http://www.ant-karlov.ru/PlayerIO-re...zaderzhek.html |
|
|||||
|
Можно передавать конечный угол поворота, а на другом клиенте для поворота использовать твинер.
Конечный угол можно рассчитать используя таймер, к примеру. То есть если в течение определенного времени угол поворота не меняется, или меняется незначительно (в пределах единицы, например), то считать, что персонаж закончил поворачиваться и его угол можно отправлять другим клиентам. Я бы отправлял данные в самом начале поворота, и после его завершения. По опыту скажу, что не надо сильно мудрить с этой системой. Чем больше кода и проверок, тем больше вероятность сбоев. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|