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