NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Micinaua
Neregistrovaný
Avatar
Micinaua:25.11.2011 19:00

Zdravím, mám takový dotaz. Pracuji na 2D skákačce, ve které je nastavený view na hlavního hrdinu. Mým problémem je to, že potřebuji nějakým způsobem vytvořit několik vrstev pozadí, které by se pomalu posouvaly zároveň s pohybem hrdiny a zároveň cestovali s viewem hry. Např. že při pohybu hrdiny doprava, by v pozadí pomalu ubíhaly stromy a za stromy by ještě pomaleji ubíhaly hory... doufám že jsem to dostatečně popsal a je to alespoň trochu pochopitelné..

Prosím poraďte, já zatím na nic nepřišel.. :)

 
Odpovědět
25.11.2011 19:00
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:25.11.2011 20:56

Přesně tohle jsem řešil, není nic jednoduššího, než si do roomu dát několik backgroundů. Potom je stačí v události pro šipky doprava a doleva u postavičky posouvat tímto způsobem:

background_x[0] -= 5;
(to by bylo pro první pozadí pro šipku doprava, pozadí 1 by se potom hýbalo rychleji a ty blíže ještě rychleji. Situace u šipky doleva je analogická se znamínkem +)

Nahoru Odpovědět
25.11.2011 20:56
New kid back on the block with a R.I.P
Avatar
Micinaua
Neregistrovaný
Avatar
Odpovídá na David Hartinger
Micinaua:25.11.2011 21:29

Vynikající! Děkuji moc za tak rychlou reakci.. ;)

 
Nahoru Odpovědět
25.11.2011 21:29
Avatar
Micinaua
Neregistrovaný
Avatar
Odpovídá na David Hartinger
Micinaua:26.11.2011 9:25

Ještě bych měl jeden dotaz: jak zajistit to, aby se pozadí přestalo hýbat, když view dosáhne okrajů místnosti? Předem děkuji ;)

 
Nahoru Odpovědět
26.11.2011 9:25
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:26.11.2011 9:54

Čekal jsem ještě podobný dotaz :) Problém jistě bude i v případě, když si stoupnete před zeď a stiknete šipku, pozadí se bude hýbat, ale vy ne.

Asi bych si jednoduše vytvořil proměnnou old_viewx, která bude reprezentovat předchozí X souřadnici view. V Create události postavy bych jí nastavil na 0 (jinak to bude křičet, že jí nezná).

Potom stačí jen před posunutím pozadí zkontrolovat, zda se tyto proměnné nerovnají. Jakmile se view posune, hodnoty nebudou souhlasit, posuneme i pozadí a uložíme si novou hodnotu. Pokud jsou hodnoty stejné, view se od minulého kroku nepohlo a nesmí se hýbat tedy ani pozadí.

if (old_viewx != view_xview[0])
{
  background_x[0] -= 5;
  old_viewx = view_xview[0];
}
Nahoru Odpovědět
26.11.2011 9:54
New kid back on the block with a R.I.P
Avatar
Micinaua
Člen
Avatar
Micinaua:26.11.2011 10:19

Děkuji, frčí to jak má. :)

Můžu se jenom zeptat, existuje nějaká naučná literatura ohledně tvorby za pomocí těchto kódů? Jsem totiž v tvoření her amatér a zatím jsem využíval jenom ikonkového rozhraní drag-and-drop.. Chtěl bych se ale naučit více... :)

 
Nahoru Odpovědět
26.11.2011 10:19
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Micinaua
David Jančík:26.11.2011 10:30

Doporučuji projít si tuto sekci ;)
http://www.itnetwork.cz/index.php?…

Nahoru Odpovědět
26.11.2011 10:30
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Micinaua
Člen
Avatar
Odpovídá na David Jančík
Micinaua:26.11.2011 10:39

Ok, díky, projedu to.. ;)

 
Nahoru Odpovědět
26.11.2011 10:39
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:26.11.2011 12:34

Zde je případně ukázka se zdrojovým kódem :)
http://www.itnetwork.cz/index.php?…

Nahoru Odpovědět
26.11.2011 12:34
Zapomeň, že je to nemožné a udělej to ;)
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Micinaua
David Hartinger:26.11.2011 13:02

V kódu lze udělat to, co pomocí ikonek, ale některé pokročilé příkazy v GM jsou JEN pomocí kódu. sczdavos napsal několikadílný tutoriál, který popisuje, jak pomocí kódu přepsat všechny ikonky v GM, pokud vás to zajímá, podívejte se na to. Ale musíte nejprve umět ikonky a není to úplně nutné, pokud děláte něco jednoduchého :)

Nahoru Odpovědět
26.11.2011 13:02
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.