1 / 1 / 0
Регистрация: 21.06.2010
Сообщений: 23
|
|||||||||||
1 | |||||||||||
Параллельное выполнение алгоритмов22.02.2011, 20:38. Показов 3678. Ответов 7
Метки нет (Все метки)
Всем доброго времени суток.
Хочу написать маленькую игрушку - платформер, типа того, что про знаменитого итальянского водопроводчика Марио. Столкнулся я с проблемой: в прыжке персонаж не двигается в стороны, т.е. прыгает строго вертикально. Получается, что прога адекватно выполняет все действия по отдельности, но, пока она не выполнит алгоритм, предназначенный для конкретного события, она не воспринимает новых. Как быть? черновой вариант кода: в кратце:
0
|
22.02.2011, 20:38 | |
Ответы с готовыми решениями:
7
параллельное выполнение Параллельное выполнение Параллельное выполнение метода параллельное выполнение запросов |
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
23.02.2011, 15:21 | 2 |
сделать по-человечески.
делаешь таймер. и по таймеру - отображаешь картинку в текущих координатах. а по нажатию на кнопки - только меняешь эти координаты. никаких Sleep()
1
|
1 / 1 / 0
Регистрация: 21.06.2010
Сообщений: 23
|
|
23.02.2011, 19:36 [ТС] | 3 |
Нагуглил про таймеры, спасибо за совет: так, действительно, на много корректнее. Однако, основная проблема останется: программа не будет воспринимать ОДНОВРЕМЕННОГО нажатия двух клавиш. Точнее, как мне кажется, если держать стрелку в сторону, персонаж будет двигаться в сторону. нажатие стрелки вверх даже вызовет прыжок, однако если не отпускать при этом ни одну из кнопок, движение в сторону прекратиться и он будет прыгать на месте...
как, всё-таки, быть?
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||||
23.02.2011, 21:01 | 4 | |||||
не совсем так.
просто getch возвращает лишь один символ, и две нажатые клавиши через него передать ну никак не получится. а передает он код той клавиши, которая нажата последней. чтобы отлавливать нажатия сразу двух клавиш, вам придется отказаться от консоли, и самостоятельно сканировать клавиатуру. пишите уже в win32, что-ли. хотя, можно, конечно, и в консоли перегрузить функцию окна и ловить нажатия кнопок. Добавлено через 39 минут судя по тишине, успеха не добился. попробуй вот такой код:
#include "windows.h" #include "winuser.h"
1
|
1 / 1 / 0
Регистрация: 21.06.2010
Сообщений: 23
|
|
23.02.2011, 21:16 [ТС] | 5 |
Ещё раз спасибо.
создал я приложение win32 в VC2010 и искренне поразился количеству "букав". есть какое-нибудь издание, где ЛАКОНИЧНО изложено суть того, как с этим работать? Задавать тонну глупых вопросов тут смысла я не вижу... Добавлено через 1 минуту спасибо, попробую
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
23.02.2011, 21:20 | 6 |
боюсь, что программирование под win32 лаконично описать невозможно. про MFC/ATL/.NET вообще молчу.
0
|
1 / 1 / 0
Регистрация: 21.06.2010
Сообщений: 23
|
|
23.02.2011, 21:29 [ТС] | 7 |
и, всё-таки, что можно почитать? Рано или поздно мне всё равно придётся с этим столкнуться... Мне понравилось как Герберд Шилдт (если не ошибаюсь) пишет. У него есть подобные издания?
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
23.02.2011, 21:51 | 8 |
если честно - понятия не имею.
я учился в ту пору, когда интернета еще толком небыло. и книг тоже. встроенная в Студию справка, да несколько примеров - все что нужно для настойчивого ума.
0
|
23.02.2011, 21:51 | |
23.02.2011, 21:51 | |
Помогаю со студенческими работами здесь
8
Параллельное выполнение ajax Параллельное выполнение задач Параллельное выполнение сортировки Параллельное выполнение потоков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |