Авторизироваться
Модератор форума: ADMIN, Nextik  
проект Танчики
04.10.2009 в 20:19 Сообщение #41
Yura-007
Непонятливый
Пользователи
Сообщений: 25
Награды: 0
Репутация: 3
Offline
Ну потому я его и отключил!
Что бы компилилось, нужно поубирать все нули в Fild[0, ...]... вот этот 0 не нужен.
04.10.2009 в 22:54 Сообщение #42
Yura-007
Непонятливый
Пользователи
Сообщений: 25
Награды: 0
Репутация: 3
Offline
Прикрепляю проект, в котором 1 бот, убить его пока ещё нельзя, но он уже ездит и почти стреляет.
Не пойму как исправить косяки:
как только начинаешь перемещать танк, скорость бота увеличивается, начинает быстрей ездить;
если начинаешь стрелять, бот оставляет после перемещения следы.
По всей видимости проблемы с перерисовкой, как решить не пойму.
Для работы проекта нужна библиотека threads.
Прикрепления: Tanki.rar (39.7 Kb)
05.10.2009 в 15:20 Сообщение #43
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
Следы во время стрельбы остаются из за того что цвет переключается. В процедуре movedbot setcolor(0,0,0) убери вначале а поставь перед каждой строкой где затираешь предыдущее изображение.
Не заметил что бы бот ускорялся
06.10.2009 в 01:54 Сообщение #44
Yura-007
Непонятливый
Пользователи
Сообщений: 25
Награды: 0
Репутация: 3
Offline
Спасибо. И как я раньше не догнал что дело в этом. В эмуляторе на компе всё отлично, а на телефоне, чуть меньше оставляет следы.
В эмуляторе особенно было заметно, как при движений бот ускоряется. Разрешение эмулятора 176х220, а телефона 352х416. На телефоне не очень заметно. А если убрать последний repaint, то нормально работает, уже разобрался, правда тогда если бот перестанет двигаться, то повороты танка не перересовуются.
В общем я создал 3 бота, которые двигаются, но не стреляют, так вот туговато идет на телефоне, а на компе нормально. А если их стрелять научить, вообще туго идти будет.
06.10.2009 в 12:06 Сообщение #45
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
У тебя много раз экран перерисовывается. Лучше если бы все танки сдвинулись а потом 1 раз все нарисовать. Чтобы быстрее было можно сдвигать танки на 2 пикселя.
Каким эмулятором пользуешься ?
06.10.2009 в 22:33 Сообщение #46
Yura-007
Непонятливый
Пользователи
Сообщений: 25
Награды: 0
Репутация: 3
Offline
Воспользовался твоим советом, создал процедуру перерисовки.
По идее да, много repaintов, это не хорошо. Но даже так ничего не изменилось, в эмуляторе летает, а на телефоне, когда танки передвигаются всё нормально, а когда стреляешь, заметно притормаживает.
Даже и не знаю как ещё можно оптимизировать код. Наверно нужно изменить анимацию выстрела, сделать её проще, уж очень она прожорливая.
Эмулятор у меня kwyshell v.1.3.1.0
Есть игра, аналог дендиевским танчикам battle_city, она тоже в эмуляторе летает, а на телефоне идёт намного медленней, причём там сразу 5 или 6 ботов. Выстрел там реализован совершенно иначе.
На всякий случай прикрепляю проект.
Прикрепления: 3587761.rar (72.1 Kb)
13.10.2009 в 21:22 Сообщение #47
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
танчики заглохли ?
14.10.2009 в 19:59 Сообщение #48
DIMON4Ik
Новичок
Проверенные
Сообщений: 9
Награды: 0
Репутация: 1
Offline
Сотри все repaint и перед строчкой drawImage(Picture[Panzers.Direction],Panzers.x,Panzers.y); впиши 1 repaint на всю программу!!!
И всё будет в шоколаде cool

PS С тебя плюсик wink

14.10.2009 в 21:31 Сообщение #49
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
Если так сделать то не будет плавного движения.
15.10.2009 в 22:51 Сообщение #50
Yura-007
Непонятливый
Пользователи
Сообщений: 25
Награды: 0
Репутация: 3
Offline
Немного был занят. Да, плавного передвижения не будет.
Как я понял, проблема в процедуре перерисовке(rp), она не правильно работает. Когда её вызывает, например бот, он должен дождаться когда её вызавут остальные, затем перерисовка и он снова может её вызвать.
Вот, пока не получается это правильно сделать.
Поиск: