![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
движение картинки [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