![]() |
|
|
![]()
|
|
| Spirit87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Вем привет.
Я должен написать игру типа "сквош". Это такая игра, где вы видите две ракетки в виде прямоугольников (одна ваша, другая CPU) и шарик в виде маленького квадратика, который вы должны отбивать своей ракеткой, а CPU -- своей. Напоминает настольный теннис. И в ходе написания программы возник следующий вопрос. Насколько я понял, программа должна состоять, как минимум, из двух частей. Одна из них должна осуществлять движение мяча и соответствующее передвижение ракетки CPU. Вторая должна реагировать на сообщения о передвижении мыши пользователем и изменять координаты соответствующей ракетки. Вопрос: как сдлеать, чтобы выше упомянутые части программы выполнялись одновременно? Мне посоветовали использовать потоки. Действительно ли потоки могут здесь помочь? |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 3 Всего: 60 |
действительно. Тебя не обманули. |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
А ты начни писать, многие вопросы отпадут сами собой
|
|||
|
||||
| Heremum |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 7.4.2006 Репутация: нет Всего: нет |
Spirit87
Видно вы только только начали заниматься разработкой игровых движков, хотябы самых примитвных. Это хорошо, я всегда так радуюсь, когда нахожу новичка, которому могу рассказать что-дибо! Во-первых: разработку любой игры не делят на части по функциями: ракетка, мяч и т.п. Их делят по принципиально разным аспектам программирования: графика, звук, алгоритмические расчёты. Обработак движения мыши, полёта мячика и движение ракетки - это всё аналитика и не надо помещать обработку их в разные потоки, потому это не требуется, да и так твоя игра не будет правильно работать. Для начала о "многопоточности" или так называемой мульти-задачности windows: программы запущенные в windows не выполняются одновременно никогда. Это невозможно впринципе, потому что процессор у тебя один(или у тебя их больше? Смотри: ты сначала обсчитываешь то, где находится ракетка, где находится мяч, отражается ли мячик от ракетки или пролетает мимо, забивая гол, исходя из этого ты знаешь координаты ракеток, мячика и вообще положение дел, и только лишь когда ты их будешь знать, ты сможешь нарисовать текущий кадр сцену игры. Поэтому если ты юудешь выполнять просчёты параллельно, то расчёты будут не верны, будут ошибки и соответственно игры не получится. Сначала просчёт всей аналитики, а потом вывод на экран. Запомни. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |