Váš Pacman
Dnes si vytvoříme našeho vlastního Pacmana. Zde nebo v balíčku, který je ke stažení si můžete stáhnout potřebné sprity v balíčku pak i hudbu.
Nejlprve si přidáme sprity Pacmana (nezapomeňte zaškrtnout remove background):
Vytvořte si ve spritech nejlépe složku pacmans do které tyto sprity dejte ať je v tom nějaký systém.
Je důležité změnit každému spritu (pacmanovy a později i duchům) masku kvůli kolizi se zdmi a solid objekty vůbec. Proto vždy dejte modify mask zvolte rectangle a full image. Tím se vám vypne precise collision checking a všechny objekty bude hra vidět jako čtverce, tím se zjednodušší kolize a nebude docházet k zasekávání objektů ve zdech.
Otevřeme si objekt pacman a defaultní sprite mu dáme pacman_stand. Do create přidáme set variable kde nastavíme image_speed na 0.5, aby mlel pusou trošku pomaleji
Poté přidáme eventy left, right, up a down. Přičemž do každého z nich přidáme akce -> kontrola kolize kde nastavíme x na - 4 (touto rychlostí se bude pacman pohybovat), pouze pro solid a zaškrtneme relative. přidáme blok kam umístíme start moving in directory -> kde zaškrtneme šipku dle spěru a rychlost bude 4. A změníme sprit podle směru.
Do eventu outside room přidáme pouze wrap both directions
Do game start set lives to 3 , score to 0
Pak přidáme Score Caption Zde nastavíme výpisek score a životů který bude v programu nahoře v okně. Show score : show , score caption : Score :, show lives: show, lives caption : Zivoty : Show – znamená že se zobrazí, don’t show že se nezobrazí, caption je co se vypíše (doporučuji nepoužívat diakritiku) Poté potvrdíme.
A ještě přidáme event No more lives kam umístíme show hight score table a end the game.
Hru si můžete vyzkoušet přidáním roomu a umístěním pacmana do něj.
Nyní přidáme sprite zdi a vytvoříme solid objekt s tímto spritem. Do pacmana přidáme kolizi s tímto objektem a nastavíme mu na prostřední čtvereček a sprite změníme na stand.
Teď přidejte sprite jídla a hvězdičky a můžete i bonusové lízátko. Vytvořte objekty s těmito spritama a zatím v nich nic nenastavujte. Do pacmana přidejte event kolizi s jídlem, kde budeme kontrolovat počet -> kvůli výhře zařizovat přesun do dalšího levelu, přidávat skóre atd.
Vytvořte si nějakou mapku kam umístěte jídlo a pacmana a vyzkoušejte si hru.
Nyní přidáme duchy. Pro jednoduchost nám stačí jen tyto dva sprity.
Vytvořte si dva objekty -> ghost nebo monster a scared.
V monster do create přidejte start moving in a direction kde poklepte na levou, pravou, horní a dolní šipku a nastavte rychlost na 4 to samé udělejte v kolizi se stěnou. Do outside room přidejte wrap screen a nastavte hloubku (depth) na -2 ať nechodí pod jídlem.
Do scaret přidejte alarm ve kterém se bude měnit instance na původního ducha.
Do pacmana přidejte kolizi s hvězdičkou a přidáme nějaký zvuk (beeb používám), smažte instanci (other), změňte instanci (object duch) na scared a nastavte alarm v objektu scared na 160.
Přidejte ještě kolizi s duchem kde přehrajte zvuk dead, vložte sleep asi na vteřinu a půl, akci jump tu the start position (pro pacmana a příšeru která ho zabila -> other) změňte pacmanovi sprite na stand a odečtěte jeden život (set lives relative to -1).
V kolizi se scared přehrajte (catch), na other použijte jump to the start position a změňte jeho instanci zpět na ducha. Ke skóre přičtěte 100.
Nyní si otevřete bonusové lízátko. Do create přidejte akci jump to position a třeba do x napište -1000 ať vyskočí někam pryč. nastavte alarm 0 na 500. Do tohoto alarmu dejte akci jump to start a nastavte alarm 1 na 200. Do alarm 1 přidejte stejné akce jako jsou v create. A do posledního eventu kolize s pacmanem přidejte play sound bonus, set score relative to 200 a jump to position -1000 a alarm 0 zase nastavte na 500.
Hru si vyzkoušejte. Pacman je zdá se hotový, avšak ještě zdokonalíme inteligenci duchů přidáním objektu crossroad (kterému napamujte nějaký sprite) bude mít za úkol náhodně vybrat cestu při narazení na křižovatku. Odškrtneme mu visible a do ducha přidáme kolizi s tímto objektem. Bude zde podmínka která kontroluje jestli je duch přesně v prostředku křižovatky (check grid) . Kde nastavíme snap na 32x32 (podle velikosti všech spritů). A pod tuto podmínku přidáme start moving in a direction kde zaškrtneme zase šipky vlevo, vpravo, nahoru, dolů.
Tento objekt vložte na místa kde se dá jít více směry a není naproti zeď (křižovatky ve tvaru T nebo X). Pacman je hotov.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 922x (150.69 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker