9. díl - Unity (C#) Android: Přestavba, nová grafika, vrstvy

C# .NET Unity 3D Unity (C#) Android: Přestavba, nová grafika, vrstvy

Tento videotutoriál navazuje na předchozí díl o programování her pro Android v Unity, kde 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čim 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

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.


 

  Aktivity (1)

Článek pro vás napsal vratislavino
Avatar
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.

Jak se ti líbí článek?
Celkem (2 hlasů) :
4.54.54.54.54.5


 



 

 

Komentáře

Avatar
danar2004
Člen
Avatar
danar2004:

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:

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 :)
Avatar
danar2004
Člen
Avatar
Odpovídá na vratislavino
danar2004:

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.