Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Delphix

Автор: #$# PaVeL #$# 19.04.2006 11:37

Объясните глюк Игрок - потомок TImageSprite? процедура

Procedure TBasePlayer.Boom;
Begin
Self.Collisioned := False;

Self.Image := MainForm.DXImageList.Items.Find('Explosion');
Self.Width := Self.Image.Width;
Self.Height := Self.Image.Height;

Self.AnimLooped := False;
Self.AnimCount := Self.Image.PatternCount - 1;
Self.AnimStart := 0;
Self.AnimPos := 0;
Self.AnimSpeed := 1/15;
End;


Но изображение не изменяется!? mega_chok.gif

Автор: #$# PaVeL #$# 20.04.2006 17:01

Проблема исчезла! я задал неверные размеры изображения... blink.gif blum.gif

Помогите в работе с DXPlay.
Задача следующая игра 2D есть карта(У всех игроков) состоящая из Объектов-Спрайтов. Размеры её ОГРОМЕННЫЕ надо входящему в игру человеку переслать все её изменения(передвижение, уничтожение, итд). Задача усложняется тем, что в игре СЕРВЕРА НЕТ! При всём этом сеть тормозить не должна!
Заранее спасибо!

Автор: GoodWind 20.04.2006 19:05

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

Автор: GoodWind 20.04.2006 19:30

либо хотя-бы переодически их синхронизировать

Автор: hardcase 20.04.2006 20:19

Хммм, а что если поступить так: карта разбита на локации и изменения происходящие в локации рассылать только компам, которые находятся именно в этой локации?

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

У нас значит встаёт проблема: когда мы заходим в локацию, как понять, кто сервер в настоящий момент. Или, если мы первыми пришли в эту локацию, кто был последним сервером в этой локации. Для решения этой проблемы мы можем организовать на нескольких компах в сетке информационные базы - в них будет содержаться информация о том, кто сейчас сервер в какой локации, или кто был посленим серваком в такой-то локации, и у кого нужно запрашивать последние изменения, касающиеся той локации.