This is an old revision of the document!
Parametri se pot controla in editor atat timp cat sunt definiti ca variabile publice sau serializabile.
Se pot defini atat variabile simple cat si liste (array)
public float speed; public Sprite[] images; [SerializeField] private Text scoreText; [SerializeField] private GameObject[] enemyTypes;
Obiectele se pot instantia folosind functia
newobj = Instantiate(objTemplate) as ObjType; enemyOrc = Instantiate(Orc) as Enemy;
Transformarile unui obiect se pot accesa prin atributul `transform` (https://docs.unity3d.com/ScriptReference/Transform.html)
Vector3 objectPosition = GameObject.transform.position; GameObject.transform.position = new Vector3(posX, posY, posZ); transform.Translate(Vector3.up * Time.deltaTime, Space.World); transform.Rotate(Vector3.up * Time.deltaTime, Space.World);
Pentru a genera valori random puteti folosi clasa Random
Random.Range(-10.0f, 10.0f) Random.Range(0, 8);
Afisarea sau ascunderea unui obiect din scena se poate face prin functia de activare
myObject.SetActive(false); // ascunde myObject.SetActive(true); // arata
Similar, se pot controla componentele unui obiect
this.GetComponent<BoxCollider>().SetActive(false); // dezactivare this.GetComponent<SpriteRenderer>().sprite = image; //setarea unei imagini myObject.GetComponent<Text>().text = '123' //setarea unui text
De asemenea se pot accesa elemente copil sau parinte
childObject=parentObject.GetChild("child_name"); //setarea unei componente a elementului copil parentObject.GetChild("child_name").GetComponent<SpriteRenderer>().sprite = image;
Daca vreti veti sa introduceti asteptari in rularea unui script/functii puteti folosi corutine. Corutinele sunt folosite pentru a porni functii asincrone, care se pot intinde pe mai multe frame-uri, si in care se poate pune pauza (wait).
void Start() { StartCoroutine(Example()); } IEnumerator Example() { print(Time.time); yield return new WaitForSeconds(5); print(Time.time); }
Pentru a putea detecta daca un element a fost apasat, se poate folosi functia OnMouseDown
void OnMouseDown() { gameObject.SetActive(false); }
Realizarea unui joc 2D de memorare