Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Движение изображения на Канве без прорисовки???


Автор: GlebaN_666_ 1.5.2007, 19:42
Всем привет! 
Такая проблема:

Загружаю два изображения (1-ое - фон, 2-ое шарик)
Как мне сделать  при помощи Канвы(без всяких Image) так чтобы
этот шарик  перемещался по нажатию кнопок без прорисовки???


Код

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
fon=new Graphics::TBitmap();
fon->LoadFromFile("C:/3.bmp") ;
ball=new Graphics::TBitmap();
ball->LoadFromFile("C:/1.bmp") ;
ball->Transparent=true;

}


Это я так нарисовал фон..
Код

void __fastcall TForm1::FormPaint(TObject *Sender)
{
do{
  do{
      Canvas->Draw(x,y,fon);
      x+=fon->Width;
     }while(x<ClientWidth);
   x=0;
   y+=fon->Height;
   }while(y<ClientHeight);
}


Помогите пож-та весь нет облазил не могу ниче найте похожего(((


Автор: Voldemar2004 1.5.2007, 21:40
GlebaN_666_, я в соседнем топике написал, как передвинуть окружность с помощью Канвас.  Все делается аналогично. http://forum.vingrad.ru/forum/topic-148783.html

Автор: GlebaN_666_ 1.5.2007, 22:15
Мне нужно двигать не окружность, а именно рисунок, 
Как с кнопочками работать я знаю....

вот например когда я делаю вот так:
Код

if (GetAsyncKeyState(VK_LEFT)){x1-=5;
    Canvas->Draw(x1,y1,ball);}
if (GetAsyncKeyState(VK_RIGHT)){x1+=5;
    Canvas->Draw(x1,y1,ball);}
if (GetAsyncKeyState(VK_UP)){y1-=5;
    Canvas->Draw(x1,y1,ball);}
if (GetAsyncKeyState(VK_DOWN)){y1+=5;
    Canvas->Draw(x1,y1,ball);}


то получается косяк.....
я знаю, что надо сделать как - то через CopyRect б но нефига не получается
Объясните как????

Автор: GlebaN_666_ 2.5.2007, 16:56
И тишина.......
 smile 

Автор: Klin 2.5.2007, 18:57
Цитата(GlebaN_666_ @  2.5.2007,  17:56 Найти цитируемый пост)
И тишина.......

В хелпе все подробно описано, если что-то конкретно не получается, скажи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)