Заставка параллельно игре и использование потоков
Здравствуйте все.
Пишу небольшую игру типа 2D бродилка вид сверху. Использую форму и VCL-компоненты.
В начале у меня есть меню, где можно выбрать игру, настройки, выход и т.д., а также уровень. Тут же есть небольшой PaintBox, на который я вывожу пример прохождения игры, т.е. получается как бы мини заставка, там бегает человечек и всякие другие движения. Параллельно минизаставке происходят другие события, например анимация меню при выборе и др.
Проблема в том, что отрисовка минизаставки и просчет действий персонажей на ней занимает время. Я бы хотел сделать так, чтобы заставка шла параллельно всем другим действиям на форме. Для этого я все действия заставки засунул в отдельный поток. Но это не лучшее решение, т.к. в заставке постоянно происходит вывод изображений на PaintBox и нет никакой синхронизации потоков. Точнее не могу никак разобраться как эту синхронизацию сделать.
Вопрос состоит в том, как вообще делаются такие вещи? Т.е. идет заставка и параллельно можно допустим лазить по игровому меню, делать настройки и п.р.
|