Lekce 1
(Vytvoření nového projektu, textury, rotace)

Pokud vám tento tutoriál bude připadat povědomě, bude to tím, že jste ho četli na serveru gamecode.cz pro který jsem tento tutoriál napsal.Zde si nyní můžete přečíst jeho upravenou "kopii".

Už jste někdy zkoušely v Delphi naprogramovat hru? Pokud ano tak jste zjistily, že v samotném Delphi a jeho základními komponentami je to takřka nemožné. Existuje ale spousta komponent a přepisu, které tvoru her v Delphi usnadňují. Jedné takové “komponentě“ se dnes budeme věnovat. Zkusíme si vytvořit základní, jednoduché objekty v GLScene.

Nejdříve si budeme muset obstarat freeware komponenty GLScene pro naši verzi Delphi. Pro Delphi verze 4-7 si je můžete stáhnout zde (cca. 3,5 MB). Instalace komponent GLScene je velice jednoduchá, proto se s ní nebudeme dále zabývat.

Nyní si vytvořte v Delphi nový projekt a na formulář vložte tyto komponenty: GLScene, GLSceneViewer a AsyncTimer1 u kterého nastavte Interval na 10 a Enabled na True.

U GLSceneViewer1 nastavte Align na alClient. Dvojitým poklikáním na GLScene1 se nám otevře GLScene Editor. Kliknutím na položku Cameras se nám zpřístupní tlačítko Add kamera. Klikněte na něj a vytvořte kameru (GLCamera1) poté klikněte na položku Scene object, zpřístupní se tlačítko Add object. Kliněte na něj a vytvořte dvě DummyCube. Vyberte DummyCube1 a vytvořte Spere a Cube (Add object -> Basic geometry -> Spere/Cube).Nyní přetáhněte předchvýlí vytvořenou GLCameru1 do DummyCube2 a vytvořte GLLightSource1 (Add object -> GLLightSource). To nám zajistí, že světlo bude svítit do místa na které se právě GLCamera “dívá“. Po těchto krocích by měl obsah GLScene Editoru vypadat takto:

GLScene Editor : GLScene1

Zavřete GLScene Editor a klikněte na GLSceneViewer1. V object inspektoru vyberte u Camera námi vytvořenou kameru GLCamera1 a znovu si otevřete GLScene Editor. Vyberte Cube1 a rozevřete si v object inspektoru položku Position a nastavte tyto hodnoty: X=-2 Y=0 Z=-5 To samé udělejte u Sphere, kde nastavíte tyto hodnoty: X=2 Y=0 Z=-5

Tím jsme si nastavily pozice objektů. Nyní můžete spustit program.

První aplikace

Jsou vidět oba objekty (vlevo Cube1 a vpravo Sphere1). Oba mají nepříjemnou šedou barvu, a proto je potáhneme texturou.

Nejdříve si změníme barvu pozadí u GLSceneViewer1. Rozevřete si možnosti u Buffer a změňte stávající šedou barvu u BackgroungColor na černou (clBlack).

Nyní si tedy otevřete GLScene Editor a vyberte Cube1. V Object Inspektoru si otevřete položku Material a klikněte na tlačítko Texture. Stisknutím tlačítka vedle kolonky Image vyberte libovolnou *.bmp či *.jpg (pokud vyberete tyxturu v jpg formátu, musíte přidát do Uses: Jpeg) texturu z vašeho disku ( já jsem zvolil texturu dřeva).V políčku MinFilter vyberte možnost miNearest (jasnější obrysy textury) a odškrtněte kolonku Disabled. Tím si povolíte potahování objektu texturou. Ostatní políčka (ImageAlpha,MagFilter,…) slouží k detailnějšímu nastavení možností textury (lesk,barvy,průhlednost,…). Nastavení těchto políček nechám na vás. Takto nastavte texturu i u objektu Sphere1 a spusťte program.



Váš program by měl vypadat podobně jak na obrázku.
Nakonec dnešního tutoriálu si ukážeme jak objekty rozpohybovat. Do procedůry OnTimer u AsyncTimeru1 stačí napsat tyto řádky:

Cube1.Turn(1);
Sphere1.Roll(1);


Tímto po spuštění programu začnou oba objekty rotovat.

Tak a to je pro dnešek vše. Příště si ukážeme jak udělat s pomocí GLScene efekty výbuchu, ohně, elektřiny,…)
Autor článku
Hollow

©2003 Reload GAMES
Zdrojové kódy dnes vytvořeného programu: zde.