![]() |
|
![]() ![]() ![]() |
|
SmarTi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 16.7.2006 Репутация: нет Всего: нет |
Всем доброго времени суток. Сразу прошу меня извинить за создание такой темы. Но прочитав всё что мне удалось найти на форуме, я так и не понял как решить мою проблему.
Проблема заключается в следущем : Я рисую сетку в SDI и заполняю её очень быстро квадратами (до 20 раз в секунду),кто писал "Жизнь" тот поймёт в чём речь. Естественно при перерисовке окна появляется мерцание ![]() На сколько я понял BitBlt работает только для битмапов... так как же избавится от мерцаний ? Можно както сделать сетку постоянным фоном ? |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
используй двойную буферизацию..
суть такова: сначала создаешь контекст в памяти, потом в нем рисуешь, а потом BitBlt на основной контекст. пример
|
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 5 Всего: 124 |
Жизнь!!! Завтра прикреплю сюда свои исходники
![]() И exe-шник ![]() P.S. Словарь Жизни есть? Ссылку давать? Добавлено @ 22:51 Вспомнил! Вот тут я уже выкладывал! Сетка не нужна! Квадраты — их два вида — уже должны содержать в себе сетку На границах. В исходнике есть всё. Если чего не будет, пишите ПМ. Всё расскажу! Занимался этой задачей ![]() 500 в секунду ![]() Удачи! |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 1 Всего: 37 |
А я тоже как-то жизнь писал...потом сделал, что бы клетки были нескольких видов(цветов). Очень интересно наблюдать как одна популяция вытесняет другую и т.п.
SmarTi , можешь потом усложнить так... |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 5 Всего: 124 |
Вот тут тот же исходник, но архив почему-то больше
Скачайте оба и сверьте, может, где что пропустил Вот отличная программа Life32, хоть и старая, хоть и на Дельфи (не моя) ![]() Game of Life Dictionary Реализация Машины Тьюринга посредством Игры Жизнь Детальная картинка (1714 x 1647) ![]() Русскоязычный перевод Словаря Жизни Это сообщение отредактировал(а) SergeCpp - 19.1.2007, 23:35 |
|||
|
||||
SmarTi |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 16.7.2006 Репутация: нет Всего: нет |
Вот как я делаю :
И в результате просто белый экран... какбудто я и ничего не рисую... В чем может быть проблема ? SergeCpp, всё таки хочется разобратся с двойной буферизацией, а твоя "Жизнь" классная ![]() |
||||
|
|||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 5 Всего: 124 |
OnEraseBkgnd выброшена?
Сразу же return TRUE нужно Добавлено @ 00:20 P.S. спать хочу ![]() ![]() |
|||
|
||||
SmarTi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 16.7.2006 Репутация: нет Всего: нет |
Если так делать то вообще каша получается... а рисовать то что нужно не хочет. |
|||
|
||||
SmarTi |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 16.7.2006 Репутация: нет Всего: нет |
УРАААА! Получилось ! Я просто думал что Битмап тут не при чём
![]() Получается так :
ну и конечно обработчик :
Вот если бы я сразу натнулся на примерно вот такой код.... эээх. Ладно, всем огромное СПАСИБО. Тема закрыта! иду спать ![]() Это сообщение отредактировал(а) SmarTi - 21.9.2006, 01:04 |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |