Předvánoční slevová akce PHP týden
Pouze tento týden sleva až 80 % na PHP e-learning!
Využij předvánočních slev a získej od nás 20 % bodů zdarma! Více zde

Lekce 10 - Unity (C#) Android: Přestavba, nová grafika, vrstvy

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Unity (C#) Android: MenuPart, Eraser, pozadí 2, jsem řešil nějaké ty restíky. Našel se ochotný a schopný grafik, který mi dodal nějaké Assety pro hru, takže je v tomto videu předvedu, naučím vás přeimportovat assety a celkově změníme kolizní systém.

Novinka!: Pokud máte nějaký dotaz, můžete se ptát buď zde na itnetwork.cz u článku, nebo nově tady: ODDT Studio Tutorial Facebook Page

Video

Follow Player Script

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Skript pro následnování hráče

using UnityEngine;
using System.Collections;

public class FollowPlayerScript : MonoBehaviour {

    public Transform playerRef;
    bool error = false;

    void Start()
    {
        if (playerRef == null)
            error = true;
    }

    // Update is called once per frame
    void Update () {

        if (error)
            return;


        //transform.position = new Vector2(playerRef.position.x, transform.position.y);
        Vector2 pos = transform.position;

        pos.x = playerRef.position.x;

        transform.position = pos;
    }
}

Eraser Script

Úprava Eraser skriptu, který bude kromě mazání stalagů taky posouvat zdi a pozadí

using UnityEngine;
using System.Collections;

public class EraserScript : MonoBehaviour {

    void OnTriggerEnter2D(Collider2D col)
    {
        if(col.CompareTag("Stalag"))
        {
            if(col != null)
                Destroy(col.gameObject);
        }



        if(col.CompareTag("Wall") || col.CompareTag("Background"))
        {
            col.SendMessage("Move");
        }
    }


}

Jak hra vypadá teď?

Problémy?

Pokud máte nějaké otázky, neváhejte se zeptat v komentářích, nebo mi napsat do zpráv.

V příští lekci, Unity (C#) Android: Start, Skóre, PlayerPrefs, vyřešíme zastavení hráče na začátku levelu, skóre a ukládání.


 

 

Článek pro vás napsal vratislavino
Avatar
Jak se ti líbí článek?
2 hlasů
Autor se věnuje programování v C#, především pak ve vývojovém prostředí Unity3D. Má asi pětileté zkušenosti s programováním a momentálně pracuje na připravované hře Azulgar: Beyond The Frontiers.
Předchozí článek
Unity (C#) Android: MenuPart, Eraser, pozadí 2
Všechny články v sekci
Tvorba arkády pro Android v Unity
Miniatura
Následující článek
Unity (C#) Android: Start, Skóre, PlayerPrefs
Aktivity (4)

 

 

Komentáře

Avatar
danar2004
Člen
Avatar
danar2004:19.10.2015 10:33

Ahoj,
mám malý problém v tomto dílu. Console mi hlásí, že "SendMessage Move has no receiver". Zkoušel jsem projít zdrojáky k dřívějším lekcím, ale nenašel jsem, kde se tahle metoda Move vytvářela, nebo jestli jsem v některém videu přehlédl nějaký pokyn. Mohl bys mě prosím nasměrovat?
Díky moc! :)

 
Odpovědět
19.10.2015 10:33
Avatar
vratislavino
Redaktor
Avatar
Odpovídá na danar2004
vratislavino:19.10.2015 12:55

Ahoj, koukám, že jsem někde zapomněl postnout kód, který sice ve videu je, ale není tu v textové podobě.

Minimálně by metodu Move měla mít třída BGMover a měla by vypadat i s použitou proměnnou finálně takhle:

public int count;

    void Move()
    {
        Bounds b = GetComponent<SpriteRenderer>().bounds;
        float sizeX = b.size.x;

        Vector3 pos = transform.position;
        pos.x += count * sizeX - 10;
        transform.position = pos;
    }
Odpovědět
19.10.2015 12:55
Hlavou teď neprorazíš, ale stojí za to to zkoušet :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
danar2004
Člen
Avatar
Odpovídá na vratislavino
danar2004:19.10.2015 13:32

Díky moc. Nějak mě to muselo utéct. Všechny kódy píšu ručně podle videa. Ale musel jsem se jednou také vracet kvůli nějaké chybě při uložení prefabů (Prefab byl vytvořen, ale neobsahoval vůbec nic, ani grafiku. Musel jsem to promazat a vytvářet znova...)

 
Odpovědět
19.10.2015 13:32
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 3 zpráv z 3.