Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

движение картинки [D7, WinXP]


Flame ©   (2005-05-28 16:25:00) 

в паскале была такая вункция, как xorput. а как можно в делфи реализовать движение некой картинки (20*20) по image. если пользоваться приведенным ниже кодом, то остаются части от предыдущих рисунков и в итоге ничего не получается.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
dec(y,4);
Form1.Imagelist1.GetBitmap(0,BMP);
 bmp.Transparent:=true;
 Form1.Image1.Canvas.Draw(x,y,BMP);

end;


Marser   (2005-05-28 16:45:00) [1]

Вставь двойную буферизацию, моргать не будет. Но скорость тоже упадёт.


Flame   (2005-05-28 16:45:00) [2]

и куды это сувать надо?


Marser   (2005-05-28 16:45:00) [3]


> Flame   (28.05.05 16:45) [5] [Новое
>сообщение][Ответить]
> и куды это сувать надо?

Просто настройка формы. Выполни один раз.


Marser   (2005-05-28 16:44:00) [4]

DoubleBuffered:=true;


Flame   (2005-05-28 16:37:00) [5]

представь себе, что таймер - 0.1 сек. тогда знаешь как картника моргает??? мне бы надо именно без repaint!!!!!


Marser   (2005-05-28 16:28:00) [6]


> Form1.Imagelist1.GetBitmap(0,BMP);

Как говорил ЮЗ, такая конструкция излишня и даже вредна. Используй self.Imagelist1.GetBitmap(0,BMP);

Для того, чтобы очистить форму, нужно её перерисовать.
self.Repaint


Наверх

Титульная страница Поиск, карта сайта Написать письмо