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

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

Перемещение Image


Страницы:   1 2

AlexXn ©   (2004-03-04 18:05:00) 

Есть Image, фон. Есть другой Image - "прицел". При перемещении "прицела" все моргает. Как изавится от етого. Может можно сделать как-нить по другому.


TButton   (2004-03-04 19:06:00) [21]

lol
BitBlt(Image1.Canvas.Handle,20,20,cr.Height,cr.Width,cr.Canvas.Handle,0,0,SRCCOPY);
выводит битмап в позиции 20:20

BitBlt(Image1.Canvas.Handle,cur.x,cur.y,cr.Height,cr.Width,cr.Canvas.Handle,0,0,SRCCOPY);
(cur: TPoint меняется в onMouseMove), выводит битмапу в позиции 0:0

иттересно...


TButton   (2004-03-04 18:58:00) [22]

2Mihey ©
>Рад, что ты не схватил молоток и не разбил монитор :).
а почему я должен был это сделать)))?


Mihey   (2004-03-04 18:49:00) [23]

2 TButton:

Рад, что ты не схватил молоток и не разбил монитор :).

2 AlexXn:

Надо делать по-другому. Все элементы игры, как фон, чувачки, которые бегают, прицел - всё нужно делать не на TImage. Ну представь себе, если в Doom монстрики были бы компонентами?

Нужно работать с изображениями в памяти. Заводишь переменные типа TBitmap, создаёшь объекты, загружаешь в них свои изображения фона, прицела и в общем того, что надо и работаешь. Вот посмотри тут:

http://delphigfx.mastak.ru/2d/001/2d_1.htm


TButton   (2004-03-04 18:21:00) [24]

Работа над ошибками
1. перепутал Height и Width
2. cr, конечно, нужно блитать не в 0, 0, а в cx, cy (позицию курсора), а если еще точнее то в cx+(cr.Width div 2), cy+(cr.Height div 2)


TButton   (2004-03-04 18:14:00) [25]

да.

bg: TBitMap; // фон
cr: TBitMap; // прицел

onCreate;
...
bg:=TBitMap.Create;
bg.LoadFromFile('superpuperfon.bmp');
cr:=TBitMap.Create;
cr.LoadFromFile('vsexybiuodinostanus.bmp');
...
end;

onPaint;
...
BitBlt(Image1.Canvas.Handle,0,0,bg.Height,bg.Width,bg.Canvas.Handle,0,0,SRCCOPY);
BitBlt(Image1.Canvas.Handle,0,0,cr.Height,cr.Width,cr.Canvas.Handle,0,0,SRCCOPY);
...
end;


Страницы:   1 2

Наверх

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