3. cvičení výsledek


Entry 3, 11.3.2021, 2.5 hodiny

Každý objekt ve hře je GameObject. K nim můžeme přidávat komponenty (buď předchystané nebo náš c# kod).

Komponenta: Sprite renderer nastavuje materiál, ze kterého má být GO vyroben.

Skript/komponent je c# class, která dědí od MonoBehaviour (tam jsou reference na GO, Transform,Start,Update...)

Názvy funkcí:

Awake() - volá se první, i když komponenta neni aktivovana 

Start() - po awaku, pred prvnim updatem, jenom, kdyz je komponenta aktivovana

oboje se zavolá max. jednou

Update() - jednou za frame - pohybovani s objekty, dostavani vstupu

FixedUpdate() - volá se vždy po stanoveném čase, upravování objektu podlehajicich fyzice

LateUpdate() - jednou za frame, po zavolání updatu

OnDestroy()

Jak implementovat pohyb doprava (bullet):

metody na transformu(transform je zděděn z monoBehaviour):

transform.rotate(v), transform.translate(v), jako argument se dává immutable typ Vector3 v

Debuging: class Debug... Debug.log(string msg)

Jak zaridit smooth pohyb bullet: pomocí *deltaTime, nebo FixedUpdate

Komponenta: Rigidbody2D umožnuje fyziku: gravitace, tahání, síly, točivost

-kinematic x non-kinematic

Komponenta: Collider - kolize, triggery, ColliderEnter2D, ColliderExit2D

Získání jakékoliv komponenty pomocí gameObject.GetComponent<T>() - drahé

Jak znicit kulku na kolizi s něčím: máme vrsty (layers) a centrálně se nastavuje přes collision matrix co s čím má kolidovat, ničení: funkce Destroy(gameObject)

Mohu implementovat funkce, které mají dané názvy a triggerují se při tom, co je v jejich názvu:

OnCollider() , OnBecameInvisible()...

Jak spawnovat kulky po stisku klávesy H

Pro input od hráče existuje classa Input, funkce Instantiate - priste doresit, jak ji pouzivat, zatim mi to moc nejde

Leave a comment

Log in with itch.io to leave a comment.