Posuvný text v DelphiX - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Delphi

Posuvný text v DelphiX

7. srpna 2001, 00.00 | Kolikrát jste chtěli ve své hře udělat
nějakou informační lištu v podobě posuvného textu? Kolikrát jste chtěli nějak
šikovně a prakticky vytvořit kredity u své hry? Tento článek vám ukáže jak na to!

        Kolikrát jste chtěli ve své hře udělat nějakou informační lištu v podobě posuvného textu? Kolikrát jste chtěli nějak šikovně a prakticky vytvořit kredity u své hry? Tento článek vám ukáže jak na to!

DXFont

    V tomto článku budu popisovat komponentu DXFont pro sadu komponent DelphiX. Existují dva alternativní postupy, které se obejdou bez této komponenty. První způsob je ten, že máme nadefinovaný text, který metodou TextOut() vykreslujeme na DXDraw a každou periodu snižujeme x-ovou souřadnici textu. DelphiX ale mají obyčejné fonty a o anti-aliasingu také nic nevědí. Takovýto "kostrbatý" text by se hodil spíše do doby počítačů 386. Druhá možnost je ta, že si vytvoříme dlouhou bitmapu, kterou každou periodu posunujeme z prava do leva (z leva do prava by se to asi špatně četlo:-)). Jak ale jistě víte .bmp obrázky jsou veliké a tento obrázek by mohl dosáhnout velikosti i 1 MB! S perfektním řešením přišel Michael Wilson (spam_email('.com', '@', 'no2games', 'wilson');), napsal komponentu DXFont.

Instalace

    Instalace je popsána v dokumentaci komponenty, takže jen stručně. Stačí jen nainstalovat DXFont do baliku, kde máte umístěny komponenty DelphiX. Proč tam? No je to asi nejlepší způsob, protože budete mít DXFont na stejné kartě jako DelphiX a navíc nemusíte vytvářet nový balík. Komponenta by měla na paletě vypadat asi takto.

delphixaddonicon.gif (6793 bytes)

    Mně se nezobrazila tato ikona, ale uplně jiná, ale to na funkčnosti komponenty nic nemění.

Písmo

    Písmo se ukládá do jedné bitmapy. Nejlépe se na to asi hodí mřížka o velikosti políček 22 x 22 pixelů a 4 x 20 okének. Mřížka by mohla vypadat takto.

mrizka.gif (1376 bytes)

    Teď už můžete začít vyplňovat políčka příslušnými písmeny. Na efekty používám Photoshop 5, dají se s ním vytvořit opravdu dobrá písma (ale nikomu nevnucuji svůj názor). Doporučuji prostudovat následující obrázek, abyste věděli do jakého políčka jaké písmeno.

text.gif (11151 bytes)

    V našem případě máme jednotlivá písmenka v políčkách 22x22 pixelů a nevynecháváme žádný prostor (SkipHeight, SkipWidth) mezi nimi. Komponenta umí jen velká písmena:-(. Angličtiny se můžete zbavit, když oželíte číslice. Např na místě dvojky by mohlo být ě, na místě trojky š atp.

Použití komponenty

    Komponenta má tyto vlastnosti:

  • DXImageList - DXImageList, ve kterém je umístěna bitmapa s písmem
  • Font - jméno bitmapy s písmem
  • Font Index - index  pořadí
  • Name - netřeba komentovat
  • Tag - také ne

    Události tato komponenta nemá žádné. Můžeme se tedy vrhnout na zdrojový kód ukázkového programu.

    Nebudu zde vypisovat obvyklé "DelphiXácké" procedury, budu probírat jen to nejduležitější. V ukázkové aplikaci si můžete všimnout dvou proměnných scroll a Scrolly. Do scroll se zapíše šířka DXDraw a do Scrolly text, který se má posunovat. A Samotný kód scrollingu vypadá takto.

...
DXFont.TextOut(DXDraw.surface, scroll, dxdraw.Height - 100, scrolly);
dec(scroll);
if scroll < (-length(scrolly) * DXFont.Offset) then scroll := dxdraw.Width;
...

   Pokud byste nerozuměli zbytku kódu, snad vám pomůže seriál o DelphiX, kteý napsal můj kolega. Ukázková aplikace vypadá takto.

DelphiX Sample.gif (5075 bytes)   

Download komponenty :  http://turbo.gamedev.net/delphix_addon_tut.zip
Autor : Michael Wilson

    Pomocí této komponenty se dají snadno, rychle a kvalitně udělat kredity ve vaší hře. U DXFontu záleží jen na vás, jaké písmo jste si nakreslili.

Tématické zařazení:

 » Rubriky  » Delphi  

 » Rubriky  » Windows  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: