10# Block breaker 6.
V této lekci náš čekají částicové efekty po rozbití bloku. Na to budeme potřebovat samotný efekt, který si importujte do projektu. V Assets se vám objeví nová položka v Prefab (Impact VFX) a dvě nové položky v Materials (Impact Particle a Particle star). Pokud se chcete kouknout na to, jak efekt bude vypadat staří ho přetáhnout do scény a on se vám automaticky jednou přehraje. Zároveň se vám objeví ovládací panel pro další přehrání.
Samozřejmě nebudeme efekt přidávat ručně pod všechny bloky. Napíšeme si funkci, která efekt zobrazí a později i odstraní. Bude součástí naší třídy Break.cs, protože tam již máme připravenou funkci, který se spouští po kolizi bloku.
Přepneme se tedy do Visual Studia a začneme hned první věcí. Musíme připojit náš efekt ke třídě, aby jsme ho mohli použít. To děláme pomocí serializovaného pole. Typ bude GameObject a můžeme si jej pojmenovat blockVFX.
Mohli by jsme to psát rovnou do OnCollisionEnter2D, sice se bude jednat pouze o jeden řádek, ale je lepší udělat funkci, kterou budeme volat. Bude Private Void se jménem TriggerVFX.
Pro vytvoření objektu ve scéně se používá Instantiate . Můžete si o tom přečíst více v dokumentaci unity, ale samotný příkaz vezme herní objekt a přesune ho na scénu.
Takto by se sice efekt objevil ve hře, ale objevil by se na místě kde byl naposledy lépe řečeno na místě kde byl vytvořen a bylo by to pokaždé stejné místo na scéně. Proto musíme ještě přidat informace o pozici tranform.position a transform.rotation, které v timto kontextu znamenají pozici a otočení kostky, který funkci zavolala.
Poslední co musíme udělat je připojit efekt. V Prefab si otevřeme Block a v části Greak (script) připojíme Impaxt VFX. A máme hotovo. Pokud poslední část je, pokud chcete upravit barvi částic, stačí otevřít Impact VFX a tam je StartColor. Můžete nastavit rozsah barev nebo klidně pouze jednu.
Málem jsem zapomněl na jednu věc. Aktuálně nám částice nemizí, ale zůstávají na scéně. Proto přidáme jeden řádek na to, aby se po X sekundách zničili. Není to aktuálně vážný problém, ale pokud by jsme měli plošinovku, kde máme částice střelby, tak by každý výstřel hromadil objekty a to by určitě nepomohlo optimalizaci hry. Proto:
V další lekci přidáme nerozbitné bloky a později také bloky co chtějí více než jeden zásah.
0 Comments