DxDraw

Procedura Flip; - jest to główna procedura, która jest odpowiedzialna za wyświetlenie danego obrazu z pamięci na ekran monitora. (dzięki temu uzyskujemy efekt podwójnych, nie migoczących badziewi :])

Canvas.Release; - jeżeli rysujemy na canvasie DxDraw to ta procedura musi zostać wywołana na końcu rysowania.

Przed wykonaniem jakiegokolwiek przykładu powinieneś/powinnaś przeczytać następujące punkty:
- zmienić nazwę DxDraw z 'DxDraw1' na 'DxDraw'
- pozycja_x, pozycja_y to wartości typu integer;
- w dziale animacje będą omówione animacje do obrazków (w przykładach podanych niżej)

1. Jak narysować jakiś tekst na DxDraw?
W DxTimer (onTimer) wpisz:
begin dxdraw.surface.canvas.textout(pozycja_x,pozycja_y,'twój tekst'); dxdraw.surface.canvas.release; dxdraw.flip; end;
jeżeli chcesz zmienić czcionkę lub zrobić aby tło było przezroczyste to:
begin
dxdraw.Surface.Canvas.Brush.Style := bsclear; //tworzy przezroczytse tło
dxdraw.Surface.Canvas.Font.size := 20; //wielkość czcionki
dxdraw.Surface.Canvas.Font.name := 'Arial'; //nazwa czcionki
dxdraw.Surface.Canvas.Font.Color := clwhite; //kolor czcionki
dxdraw.Surface.Canvas.Font.style := [fsbold]; //styl czcionki (tutaj pogrubienie)
dxdraw.surface.canvas.textout(30,30,'twój tekst');// te "30,30" to wartości 'x, y'
dxdraw.surface.canvas.release;
dxdraw.flip;
end;

Ja chce mieć na surface FPS!
begin
dxdraw.Surface.Canvas.Brush.Style := bsclear; //tworzy przezroczytse tło
dxdraw.Surface.Canvas.Font.size := 20; //wielkość czcionki
dxdraw.Surface.Canvas.Font.name := 'Arial'; //nazwa czcionki
dxdraw.Surface.Canvas.Font.Color := clwhite; //kolor czcionki
dxdraw.Surface.Canvas.Font.style := [fsbold]; //styl czcionki (tutaj pogrubienie)
dxdraw.surface.canvas.textout(30,30,'FPS: '+inttostr(dxtimer1.FrameRate));//framerate :)
dxdraw.surface.canvas.release;
dxdraw.flip;
end;

2. Jak narysować jakiś obrazek na DxDraw?
Zamieść na formie komponent TDXImageList i capnij tam jakiś rysunek.
Potem w dxtimer (onTimer) wpisz:
begin
DXImagelist1.Items[numer_itema_w_dximagelist].Draw(DXDraw.Surface, pozycja_x, pozycja_y, 0);
DXDraw.Flip;
end;

A jak narysować w stretchmode??? :)
==================
DXImages.Items[numer_itema_w_dximagelist].StretchDraw(surface,kwadrat_w_którym_rysujemy,0);
==================

begin
DXImages.Items[numer_itema_w_dximagelist].StretchDraw(dxdraw.surface,rect(0,0,100,100),0);
DXDraw.Flip;
end;

Alphamode z obrazkami :)
Co to takiego Alphamode? - to takie coś, co pozwala tobie narysować twój obrazek poprzedzony filtrem przezroczystości:


================
DXImages.Items[numer_itema_w_dximagelist].DrawAlpha(dxdraw.surface,kwadrat_w_którym_rysujemy,to_lepiej_ustawić_na_0_:),poziom);
================

begin
DXImages.Items[numer_itema_w_dximagelist].DrawAlpha(dxdraw.surface,rect(0,0,100,100),0,20);
DXDraw.Flip;
end;

Rysowanie obrazków efekt fali
=====================
DXImages.Items[numer].DrawWaveX(surface,pozycja_x, pozycja_y,szerokość,wysokość,0,ampituda czy jakoś tak,długość,ph);
=====================

begin
DXImages.Items[0].DrawWaveX(dxdraw.surface,30,30,100,100,0,10,30,12);
DXDraw.Flip;
end;