Я работаю над игрой, в которой несколько игроков должны иметь возможность играть одновременно. Это 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"
делать это таким образом. Кто-нибудь знает, как я могу достичь этой цели?
Может быть, мне следует иметь тип стека координат, который просто постоянно получает координаты, а затем извлекает значения по мере запуска игры?
Любая помощь будет высоко оценена.
Привет!