Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как сделать анимацию без мерцания? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как расположить control в гл. окне http://www.cyberforum.ru/cpp-beginners/thread462865.html
Подскажите пожайлуста! Есть гл. окно с меню (создано без MFC) Как на этом окне расположить control'ы - т.е button'ы, Static Text и с помощью какой ф-ции можно поменять свойство этого control'а - ...
C++ Задача - программно из под VC запустить 1С Народ,помогите. Задача - программно из под VC запустить 1С. Проблема - отсутствие библиотечных файлов *.tlb,*.olb в 1С. причем в описании написано, что в Бейсике такая задача просто решается... http://www.cyberforum.ru/cpp-beginners/thread462840.html
C++ Помогите организовать сворачивание всех открытых окон
господа! нужно реализовать сворачивание всех открытых окон а-ля кнопка 'свернуть все окна' в 98-х + блокировку разворачивания. проблема состоит в том, что среди top-level windows в дереве есть как...
Чем отличаются ф-ии GlobalAllocPtr() и malloc()? C++
Здрасьте! Чем отличаются ф-ии GlobalAllocPtr() и malloc()? Спасибо!
C++ Что такое chunk, RIFF, FOURCC а также функции mmioDescend, mmioAscend? http://www.cyberforum.ru/cpp-beginners/thread462811.html
Здрасьте! Подскажите пожалуйста Что такое chunk, RIFF, FOURCC а также функции mmioDescend, mmioAscend при использовании мультимедиа файлов?!! В MSDN не совсем понятно. Спасибо
C++ Ввод и проверка при вводе чисел в диалогах Никаких проблем не возникает при вводе десятичных чисел. А вот с шестнадцатиричными как быть? Есть ли изящное решение? подробнее

Показать сообщение отдельно
VDA
Сообщений: n/a

Как сделать анимацию без мерцания? - C++

03.12.2007, 10:51. Просмотров 2774. Ответов 14
Метки (Все метки)

Возьмем простой пример есть рисунок bmp с нарисованным обьектом.
Я хочу чтобы он например перемещался по экрану .
Для этого загружаю рисунок в виртуальное окно.Затем с помощью
DC.BitBlt вывожу на экран.ПРичем ипользуя таймер
сдвигаю в каждое прерывание координаты вывода виртуального окна на экран.Но все мерцает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
CMainWnd::CMainWnd()
{
        CClientDC DC(this);
        m_memDC.CreateCompatibleDC(&DC);
    
     CBitmap bit;
    bit.LoadBitmap(IDB_BITMAP1);
    m_memDC.SelectObject(&bit);
       
        Create(NULL,'Animation',WS_OVERLAPPEDWINDOW,rectDefault,
        NULL,NULL);                     // 
}
Затем в таймере сдвигаю изображение
C++
1
2
3
4
5
6
7
void CMainWnd::OnTimer(UINT ID)
{
int dX=2;
int     dY=4;
    Movv.fnMove(dX,dY);
InvalidateRect(NULL);
}
и перерисовывем его
C++
1
2
3
4
5
6
void CMainWnd::OnPaint()
{ 
    
CPaintDC DC(this);
DC.BitBlt(Movv.fnGetX(),Movv.fnGetY(), Movv.fnGetX()+300,Movv.fnGetY()+300,&m_memDC,0,0,SRCCOPY);
}
Как еще это можно сделать ? чтобы рисунок перемещался плавно?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru