V Delphi vytvořte nový projekt a na form umístěte komponenty GLScene1 , GLSceneViewer1 a GLCadencer1.U GLSceneViewru nastavte Alig na alClient a u komponenty GLCadencer1 vyberte v položce Scene GLScene1.
Nyní v GLScene Editoru vytvořte v sekci Cameras
Kameru (GLCamera1) a v sekci
Scene objects
vytvořte GLLightSource1 který
„vložte“ do Kamery (GLCamera1).V sekci Scene objects ještě vytvořte FreeForm
(Mesh objectsàFreeForm).Nyní
u komponenty GLSceneViewer1 vyberte v položce Cameras
námi vytvořenou kameru GLCamera1.
Do procedury FormCreate vložte : FreeForm1.LoadFromFile('cesta k souboru
*.3DS');
Na místo textu 'cesta k souboru' vložte cestu k modelu který chcete načíst.V našem případě to bude vypadat takto: FreeForm1.LoadFromFile('model.3DS'); (soubor model.3DS se nachází ve stejném adresáři jako program).
Když nyní spustíte projekt nejde vidíte jen šedé okno bez modelu ,proto musíme ještě nastavit pozice objektu FreeForm.
V Object TreeView vyberte FreeForm1 a nastavte PitchAngle na 90.Abychom nemuseli pracně nastavovat pozici objektu rozevřeme si proto položku AutoCentering a všechny v ní umístěné položky nastavíme na True (macCenterX, macCenterY, macCenterZ, macUserBarycenter) .
Pokud teď spustíte projekt už vidíte model.S pouhým modelem díru do světa her J neuděláte a tak uděláme další krůček ,a to pohyb v tomto modelu.
V GLScene Editoru v sekci Scene objects vytvoříme DummyCube1 ,kterou nazveme třeba Player a přesuneme do ní naši kameru (GLCamera1) se světlem (GLLightSource1).Po provedení tohoto přesunu by měl obsah GLScene Editoru vypadat takto:
Pokud tak vypadá je vše pořádku a můžeme pokračovat dál.
Hráče budeme ovládat pomocí klávesnice a proto musíme do Uses vložit Keyboard
Nyní musíme zajistit pohyb hráče v objektu.To zařídíme tak ,že do procedury OnProgress u komponenty GLCadencer1 vložíme tyto řádky :
if iskeydown(27) then close;Přičemž čísla 27,38,40,…. Jsou čísla kláves 27 à Esc , 37 à šipka doleva, 38 à šipka nahoru, 39 à šipka doprava, 40 à šipka dolů.Kdo je zvyklí na ovládání hry pomocí kláves W,A,S,D tak zde je očíslování těchto kláves:
W à 87
A à 65
S à 83
D à 68
Jinak je myslím vše jasné takže to nemusím vysvětlovat (snad) J.
Spusťte projekt a ….. můžete se pohybovat …. celkem slušné ne?
No myslím ,že toho pro dnešek bylo dost.Příště si ukážeme
jak zamezit procházení zdmi a vylepšíme design naší aplikace textury ,oblohu atd.…