This shows you the differences between two versions of the page.
|
pjv:laboratoare:02 [2018/10/17 16:11] alexandru.gradinaru |
pjv:laboratoare:02 [2019/10/16 15:50] (current) alexandru.gradinaru |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Elemente de programare a jocurilor 2D ===== | + | ===== Introducere in 2D ===== |
| Line 27: | Line 27: | ||
| <code> | <code> | ||
| newobj = Instantiate(objTemplate) as ObjType; | newobj = Instantiate(objTemplate) as ObjType; | ||
| + | |||
| + | //from pregab - prefab must be in Resources folder | ||
| + | newobj1 = Instantiate(Resources.Load("enemy")); | ||
| + | |||
| + | // Instantiate the projectile at the position and rotation of this transform | ||
| + | Rigidbody projectile; | ||
| + | Rigidbody clone; | ||
| + | clone = Instantiate(projectile, transform.position, transform.rotation); | ||
| enemyOrc = Instantiate(Orc) as Enemy; | enemyOrc = Instantiate(Orc) as Enemy; | ||
| Line 43: | Line 51: | ||
| transform.Rotate(Vector3.up * Time.deltaTime, Space.World); | transform.Rotate(Vector3.up * Time.deltaTime, Space.World); | ||
| + | </code> | ||
| + | |||
| + | === Random === | ||
| + | |||
| + | Pentru a genera valori random puteti folosi clasa Random | ||
| + | |||
| + | <code> | ||
| + | |||
| + | Random.Range(-10.0f, 10.0f) | ||
| + | Random.Range(0, 8); | ||
| + | |||
| </code> | </code> | ||
| Line 63: | Line 82: | ||
| myObject.GetComponent<Text>().text = '123' //setarea unui text | myObject.GetComponent<Text>().text = '123' //setarea unui text | ||
| + | </code> | ||
| + | |||
| + | De asemenea se pot accesa elemente copil sau parinte | ||
| + | <code> | ||
| + | childObject=parentObject.GetChild("child_name"); | ||
| + | |||
| + | //setarea unei componente a elementului copil | ||
| + | parentObject.GetChild("child_name").GetComponent<SpriteRenderer>().sprite = image; | ||
| </code> | </code> | ||
| Line 91: | Line 118: | ||
| void OnMouseDown() | void OnMouseDown() | ||
| { | { | ||
| - | this.SetActive(false); | + | gameObject.SetActive(false); |
| } | } | ||
| | | ||
| </code> | </code> | ||
| - | Atentie! Aceasta functie este activa doar in cazul in care utilizatorul apasa cu mousul peste un elemente de UI sau un Collider. | + | <note important>Atentie! Aceasta functie este activa doar in cazul in care utilizatorul apasa cu mouseul peste un elemente de UI sau un Collider</note> |
| - | | + | |
| === Cerinte === | === Cerinte === | ||
| - | Realizarea unui joc 3D de momorare | + | Realizarea unui joc 2D de memorare |
| Line 110: | Line 136: | ||
| - unul care sa reprezinte elementul afisat | - unul care sa reprezinte elementul afisat | ||
| - Scriptati elementul afisat astfel incat la click sa se ascunda si sa se afiseze cel ascuns | - Scriptati elementul afisat astfel incat la click sa se ascunda si sa se afiseze cel ascuns | ||
| - | - Realizati un game controller astfel incat sa mentineti sa afisati un scor. Scorul creste atunci cand descoperiti doua elemente identice. | + | - Colectati inca 3 imagini pentru elementele afisate |
| + | - Realizati un game controller in care sa scriptati urmatoarele | ||
| + | - instantierea dinamica a unui grid de 4x4 elemente (primul este deja instantiat) | ||
| + | - pozitionarea random a tipurilor de elemente (in scena trebuie sa fie perechi de elemente - deci vor fi 8 perechi pozitionate random la fiecare rulare) | ||
| + | - schimbarea dinamica a imaginii in functie de tip pentru fiecare element din scena | ||
| + | - mentinerea elementelor selectate curent (se selecteaza o data maxim 1 pereche) | ||
| + | - rularea asincrona a verificarii daca perechea a fost selectata sau nu corect | ||
| + | - mentinerea si afisarea unui scor. Scorul creste atunci cand descoperiti doua elemente identice. | ||
| + | - Adaugati un buton de restart game | ||