|
|
|
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
ээ... а работает ли сервер у вас? Если да, то хорошо бы протестить все не через локал хост
кто хочет - ищите меня в icq. -------------------- |
|||
|
||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
У меня есть две машины, соединенные через lan.
Завтра опробую обязательно, просто сегодня очень-очень занят - запарка на работе. Конец недели, блин. Сорри. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
ОК, не горит все равно
-------------------- |
|||
|
||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: нет Всего: 48 |
Я тестировал под Linux и Windows. В Linux не грузилась карта, так как она называлась "Test" а директория с имеджами "test", поэтому просто не могло найти файлы.
Игра запустилась, но загрузка процессора была очень высокая. Я нашел что в методе AbstractGame.gameLoop() используется бесконечный цикл без задержек, он и приводит к перегрузке. Даже задержка в 1 миллисекунду существенно улучшает работу. Такая ситуация происходит как на Linux так и на Windows. Нужно будет либо вставить задержку в этот цикл, либо ожидание какого-то события. Так-же заметно неприятное мерцание таракана при движении, особенно под Linux. Думаю необходимо ввести буфферизацию изображения. То-есть вставить отрисовку изображения карты и других объектов не в методы draw(), а в update методы. Заранее подготовить изображение видимой части карты и поместить как растр в BufferedImage, затем в методе draw() выводить ранее сформированный растр. Update по идее вызывается реже чем draw() и мерцание будет устранено. -------------------- Account removed |
|||
|
||||
Domestic Cat |
|
||||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Насчет задержки в клиентском gameLoop убедили я сам на масдае попробовал - действительно мерцает, а со слипом все ок. Нужно раскомментить один блок в gameLoop в том варианте, что я в пятницу сливал.
Но ведь и так все draw рисуют в буфер, который прорисовывается при вызове panel.repaint() в Game.
Хм. update в Game вызывается столькo жe раз, сколькo draw А вообще подумать надo Нe пойму я почему он мерцаеt, ведь и таракан, и фон прорисовываюся одинаковое количествo раз. -------------------- |
||||
|
|||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Опробовал последню версию.
Со слипом все ОК - таркан не моргает. Попробовал запустить на двух машинах. Результат - фиг с маслом. Сервер и клиент не видят друг друга. Причина (ИМХО!): когда мы посылаем udp-пакеты, нигде не указан IP-адрес - т.е. куда посылать-то? Считаю, что на клиенте нужно указывать адрес сервера, а сервер пусть либо вещает на всю подсеть, либо что клиент передавал ему свой IP при коннекте. .. Или я не то говорю? З.Ы. Сервер сильно тормозит систему. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Domestic Cat |
|
||||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Дык нужно исправить локалхоста нa нужные ип в ServerSender и Sender. В дальнейeм sервер будет получать ип клиента прi егo подклюхении, ну a покa таk
Он просчитываеt движениe + рассылаеt кучу удпшек, тут уж ничего не поделать. -------------------- |
||||
|
|||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: нет Всего: 48 |
У меня таракан тоже не моргает, после того как я раскоментил код в Game.update(), так что мой предыдущий месседж считать недействительным Видимо до этого я ставил задержку в неудачном месте.
-------------------- Account removed |
|||
|
||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Блин, а я думал, что все просмотрел. Сорри - как-то пропустил эти файлы. Исправил IP-шники, запустил - все работает. Тока почему-то таракан при запуске клиента появляется лишь при клике на фрейм. Т.е. запускается клиент, сервер, но пока не кликнешь - пусто.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Вродe я это исправлял А ты сначалa клиентa запускаешь?
У кого еще такая жe проблемa? -------------------- |
|||
|
||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Пробовал и так и так.. Сначала клиента, потом сервер, и наоборот - результат один и тот же.. Поидее, надо бы сделать, чтоб сначала сервер запускался, а уж потом клиенты - это логичнее. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Так оно и будет, просто сервер не отсылает данные если ничего с последней отсылки не изменилось. Он устанавливает таракана и шлет 1 удп, а затем замолкает т.к. таракан не двигается.
Если клиент запускает свой рисивер позже чем сервер отослал пакет, то он таракана не видит пока че.-го нибудь не произойдет. Буду смотреть. Это сообщение отредактировал(а) Domestic Cat - 10.11.2004, 21:44 -------------------- |
|||
|
||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Хмм.. А может, это чисто проблема моей сети?
Ведь udp не предполагает гарантированную доставку пакета.. Попробую на работе потестить.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Ну не должен один первый пакет теряться а остальные доходить :\
Странно. -------------------- |
|||
|
||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Ну, говорю как есть.
Специально сейчас все еще раз прогнал - один и тот же результат (на обоих машинах - WinXP SP1). Пусть другие попробуют, там и выяснится, или это баг в коде, или у меня какие-то проблемсы.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Игра на JAVA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |