This shows you the differences between two versions of the page.
pjv:laboratoare:03 [2018/10/24 14:42] alexandru.gradinaru |
pjv:laboratoare:03 [2019/10/16 16:43] (current) alexandru.gradinaru |
||
---|---|---|---|
Line 62: | Line 62: | ||
=== Bone-based === | === Bone-based === | ||
- | Incepand cu versiunea din 2017, Unity are suport si pentru animatii Bone-based pentru 2D. | + | Incepand cu versiunea din 2018 (2018.2.0f2), Unity are suport si pentru animatii Bone-based pentru 2D. |
Puteti folosi imaginea de mai jos ca exemplu: {{ :pjv:laboratoare:plunkahgreen.png?direct&200 |}} | Puteti folosi imaginea de mai jos ca exemplu: {{ :pjv:laboratoare:plunkahgreen.png?direct&200 |}} | ||
Line 177: | Line 177: | ||
// "_Cube" is the reflection cubemap. | // "_Cube" is the reflection cubemap. | ||
</code> | </code> | ||
+ | |||
+ | Pentru a functiona corect, textura pe care o folositi trebuie sa fie setata pe ''Repeat'' | ||
+ | {{ :pjv:laboratoare:2018-10-24_2_li.jpg?direct&300 |}} | ||
=== Animatii proiectile / tragere === | === Animatii proiectile / tragere === | ||
Line 190: | Line 193: | ||
Pentru a genera continut doar in spatiu vizil pe ecran, se pot defini obiecte care fixeaza acest cadru, si generat random apoi in acest interval. | Pentru a genera continut doar in spatiu vizil pe ecran, se pot defini obiecte care fixeaza acest cadru, si generat random apoi in acest interval. | ||
Obiectele generate pot fi scriptate astfel incat sa aiba animatii si miscari continui. | Obiectele generate pot fi scriptate astfel incat sa aiba animatii si miscari continui. | ||
+ | |||
+ | === Miscarea personajului === | ||
+ | |||
+ | Miscarea personajului se poate face folosind o componenta de RigidBody2D si aplicand forte sau miscari. | ||
+ | <code> | ||
+ | rb = GetComponent<Rigidbody2D>(); | ||
+ | float moveHorizontal = Input.GetAxis ("Horizontal"); | ||
+ | float moveVertical = Input.GetAxis ("Vertical"); | ||
+ | |||
+ | Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); | ||
+ | |||
+ | rb.AddForce (movement * speed); | ||
+ | |||
+ | rb.MovePosition (transform.position + offset * Time.deltaTime); | ||
+ | </code> | ||
+ | |||
+ | === Coliziuni === | ||
+ | |||
+ | Pentru detectia coliziunilor se poate folosi un collider2D. Pentru o interactiune usoara, se poate genera un Trigger la evenimentul de coliziune bifand caseta de ''Trigger'' din componenta. Dupa care se poate prelua evenimentul si obiectul cu care se face coliziunea. | ||
+ | <code> | ||
+ | void OnTriggerEnter(Collider otherObject) { | ||
+ | |||
+ | score += 10; | ||
+ | scoreText.text = score.ToString(); | ||
+ | Destroy(otherObject.gameObject); | ||
+ | |||
+ | } | ||
+ | </code> | ||
+ | |||
=== Cerinte === | === Cerinte === | ||
Line 200: | Line 232: | ||
- se poate controla de la tastatura | - se poate controla de la tastatura | ||
- trage cu proiectile in inamici | - trage cu proiectile in inamici | ||
- | - animat in mai multe stari | + | - animat in mai multe stari (minim 3) |
- are un scor care creste la distrugerea inamicilor | - are un scor care creste la distrugerea inamicilor | ||
- | - Adaugati trei tipuri de inamici animati in trei moduri diferite | + | - Adaugati minim doua tipuri de inamici animati prin tehnici diferite |
- la coliziune cu proiectilul jucatorului se distrug | - la coliziune cu proiectilul jucatorului se distrug | ||
- la coliziune cu jucatorul se distrug | - la coliziune cu jucatorul se distrug | ||
- sunt generati dinamic, la pozitii aleatoare si se deplaseaza incontinuu | - sunt generati dinamic, la pozitii aleatoare si se deplaseaza incontinuu |