проект Танчики
|
|
Yura-007 | Дата: Вторник, 06.10.2009, 22:33 | Сообщение # 46 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Воспользовался твоим советом, создал процедуру перерисовки. По идее да, много repaintов, это не хорошо. Но даже так ничего не изменилось, в эмуляторе летает, а на телефоне, когда танки передвигаются всё нормально, а когда стреляешь, заметно притормаживает. Даже и не знаю как ещё можно оптимизировать код. Наверно нужно изменить анимацию выстрела, сделать её проще, уж очень она прожорливая. Эмулятор у меня kwyshell v.1.3.1.0 Есть игра, аналог дендиевским танчикам battle_city, она тоже в эмуляторе летает, а на телефоне идёт намного медленней, причём там сразу 5 или 6 ботов. Выстрел там реализован совершенно иначе. На всякий случай прикрепляю проект.
|
|
| |
12121 | Дата: Вторник, 13.10.2009, 21:22 | Сообщение # 47 |
Программист
Группа: Проверенные
Сообщений: 357
| танчики заглохли ?
|
|
| |
DIMON4Ik | Дата: Среда, 14.10.2009, 19:59 | Сообщение # 48 |
Новичок
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация:
« 1 »
Статус: Offline
| Сотри все repaint и перед строчкой drawImage(Picture[Panzers.Direction],Panzers.x,Panzers.y); впиши 1 repaint на всю программу!!! И всё будет в шоколаде PS С тебя плюсик
|
|
| |
12121 | Дата: Среда, 14.10.2009, 21:31 | Сообщение # 49 |
Программист
Группа: Проверенные
Сообщений: 357
| Если так сделать то не будет плавного движения.
|
|
| |
Yura-007 | Дата: Четверг, 15.10.2009, 22:51 | Сообщение # 50 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Немного был занят. Да, плавного передвижения не будет. Как я понял, проблема в процедуре перерисовке(rp), она не правильно работает. Когда её вызывает, например бот, он должен дождаться когда её вызавут остальные, затем перерисовка и он снова может её вызвать. Вот, пока не получается это правильно сделать.
|
|
| |
Yura-007 | Дата: Воскресенье, 18.10.2009, 21:07 | Сообщение # 51 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Прикрепляю проект, в котором криво работает процедура перерисовки, в эмуляторе запускается мертвая игра, а на телефоне идет, но контуженно. Не пойму как правильно сделать эту процедуру.
|
|
| |
Yura-007 | Дата: Вторник, 20.10.2009, 12:51 | Сообщение # 52 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Ну что, ни у кого нет никаких вариантов?
|
|
| |
12121 | Дата: Вторник, 20.10.2009, 17:02 | Сообщение # 53 |
Программист
Группа: Проверенные
Сообщений: 357
| Тормоз ужасный. Что бы нормально было надо весь игровой цикл переделать.
|
|
| |
Yura-007 | Дата: Воскресенье, 25.10.2009, 20:28 | Сообщение # 54 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Понятно. Ну пока даже и не знаю как это можно передалать лучше. В инете вычитал что использование звуков в игре тормозит игру. Отключил звук выстрела и действительно помогло. Так что, пока сделаю наверно немую игру. Думаю проблем больше особых возникнуть не должно. Кто-нибудь пытался сделать игру по блютус? Я знаю что есть библиотека специальная, для работы с синим зубом. Не плохо бы было сделать танчики по сетке!
|
|
| |
Yura-007 | Дата: Понедельник, 26.10.2009, 20:26 | Сообщение # 55 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| В общем решил я переделать, как ранее говорилось весь цикл, парился целый день. В результате в одном потоке передвигается бот и танк. Библиотека многопоточности вообще отключенна. Как по вашему, если делать игру таким образом, можно её вообще сделать? Помоему, если делать таким способом, врятли что-то получится. А там хз, я особо не шарю в написании игр. Хотелось бы узнать ваши мнения какой способ лучше или может есть другие варианты .
|
|
| |
12121 | Дата: Вторник, 27.10.2009, 15:38 | Сообщение # 56 |
Программист
Группа: Проверенные
Сообщений: 357
| Сделать все можно. Было бы желание. Я убрал задержки и немного изменил циклы что бы сдвиг был на 4 пикселя. Так скорость нормальная только когда вверх едет след остается. в отдельном потоке можно музыку сделать. в начале этой темы есть игра. Посмотри как там сделано движение танка.
|
|
| |
Yura-007 | Дата: Вторник, 27.10.2009, 17:41 | Сообщение # 57 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Спасибо конечно, только всё-таки, как мне кажется с потоками игра лучше получается. Может даже и не лучше, но я с их помощью смогу сделать лучше. Без задержки и при передвижении на 4 пикселя, игра получается через чур быстрой, по крайней мере в поем эмуляторе. На счет звуков в отдельном потоке, это действительно идея, большое спасибо! По поводу следов при движении вверх, сам с этим парился. С чем это связанно так и не разобрался. У меня было ещё хуже, боты тоже следы вверх оставляли. Причем если при движении танка вверх, отображать другую картинку, типа сделать что б вверх танк ехал задом или боком, следов не оставалось!
|
|
| |
12121 | Дата: Вторник, 27.10.2009, 18:07 | Сообщение # 58 |
Программист
Группа: Проверенные
Сообщений: 357
| Я ж не против делай как хочешь. То что я пишу это только мое мнение
|
|
| |
Yura-007 | Дата: Среда, 28.10.2009, 06:26 | Сообщение # 59 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| А я ничего против не говорю, большое спасибо зa помощь, многие твои советы очень даже помогли. Просто вариант когда в одном потоке танк и бот, не реален. А если в него добавить ещё одного бота, код вырастет раз в 10,
|
|
| |
Yura-007 | Дата: Пятница, 30.10.2009, 19:22 | Сообщение # 60 |
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация:
« 3 »
Статус: Offline
| Итак, вот что уже получилось! Тормозит со звуками, даже в отдельном потоке! Если открыть звук при стрельбе, притормаживает. Видимо перересовка слишком много на себя берет и поэтому при проигрывании звука притормаживает.
|
|
| |