Программирование многопользовательских игр - PullRequest
5 голосов
/ 29 марта 2012

Я работаю над игрой, в которой одновременно могут играть несколько игроков.Это 2D игра, и все персонажи должны видеть движение друг друга на экране.Как и в игре теперь все устройства просто публикуют и извлекают друг друга coordinates на сервер.Это можно сделать, запустив потоки:

public void StartCoordinatorFetcherThread(final Sprite Object)
{
    Thread CoordinateStarter = new Thread()
    {
        public void run()
        {           
            while(true)
            {
                Object.testing = Object.InternetObject.GetMessages();
                try {
                    Thread.sleep(20);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    };
    CoordinateStarter.start();
}

public void StartCoordinatorPosterThread(final Sprite Object)
{
    Thread CoordinatePoster = new Thread()
    {
        public void run()
        {           
            while(true)
            {
                Object.InternetObject.PostCoordinates(Object.x,Object.y);
                try {
                    Thread.sleep(20);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    };
    CoordinatePoster.start();
}

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

Может быть, я должен иметь тип стека координат, который просто получает все координаты в нем, а затем выскакивает значения по ходу игры?

Любая помощьбудет высоко оценен.

Привет!

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

Я знаю, что это флэш, но это хороший урок, чтобы улучшить движение игроков: http://playerio.com/documentation/tutorials/building-flash-multiplayer-games-tutorial/

2 голосов
/ 29 марта 2012

Проверьте методы линейной интерполяции / экстраполяции, чтобы помочь сгладить движение.http://en.wikipedia.org/wiki/Linear_interpolation

Вот некоторые ресурсы о том, как реализовать многие численные алгоритмы на практике http://www.nr.com/

Удачи!

...