[Unity] Programmare in C# – GameObjects
GameObjects in Unity
I “gameobjects” sono i mattoni fondamentali di ogni gioco realizzato, ovvero tutti gli objets che utilizziamo in Unity 3D.
Il linguaggio C# ci permette di agire su questi gameobjects, ed è quello che vedremo in questo mini tutorial.
Quasi tutto ciò che viene visualizzato sulla finestra di Unity è un GameObject. Ogni entità di un gioco (il protagonista, un nemico, una piattaforma su cui saltare, la videocamera che inquadra la scena stessa, o anche il testo che mostra il punteggio) è un GameObject, ed ha un nome, alcune proprietà di base, e può essere posizionato nello spazio 2D e/o 3D.
Questi possono essere visibili o invisibili, emettere suoni, o essere interattivi. Tutte queste proprietà vengono definite dai componenti, che sono delle parti che possono essere aggiunte o rimosse dai GameObject a piacimento.
Per creare un oggetto basta andare nel menu GameObject > Create Empty
. Un elemento viene posto nella scena, e selezionato. Il pannello Inspector
ci mostra le sue proprietà.
In alto, c’è un campo di testo con il nome del GameObject, che può essere cambiato a piacimento. A destra, una casella di spunta di nome Static indica se l’oggetto è immobile ai fini di alcune ottimizzazioni.
Component
Un GameObject è un’entità composta da mesh, script, audio, e altri elementi. Questi elementi sono definiti Component.
A seconda dei Component di cui è fatto un GameObject, esso può essere un personaggio animato o una casa, o qualsiasi altra cosa.
Il Component base che ogni GameObject ha di default è il Transform Component, che conferisce all’oggetto una posizione, rotazione e scala all’interno della scena di gioco. E’ però chiaramente possibile aggiungere moltissimi altri componenti tramite il pulsante “Add Component”, che compare nell’Inspector una volta selezionato un GameObject.
Esercizio pratico in C #
Uno script è una porzione di codice con un scopo ben definito, ma in che relazione sono gli script con i Component di un GameObject? Dato che, una volta compilati, gli script diventano a tutti gli effetti dei Component, essi non sono altro che dei Component scritti dallo sviluppatore, il che garantisce un’incredibile flessibilità nella definizione del comportamento degli objects.
Vediamo come interagire con un GameObject in C#.
using UnityEngine; using UnityEngine; using System.Collections; public class gameobj : MonoBehaviour { // Update in Unity void Update() { if (Input.GetKey(KeyCode.Space)) { //gameObject.SetActive(false); Destroy(gameObject); } transform.Translate(Vector3.left); } // Al click del mouse void OnMouseDown() { Debug.Log("Hai appena cliccato !"); float r = Random.Range(0f, 1f); float g = Random.Range(0f, 1f); float b = Random.Range(0f, 1f); Color randomColour = new Color(r, g, b, 1f); renderer.material.color = randomColour; } }
Grazie a questo script, l’oggetto, nel nostro caso il cubo, si muoverà a sinistra. Una volta cliccato l’oggetto il messaggio “Hai appena cliccato !” apparirà sulla console di Unity.
Ricordatevi sempre che lo sviluppo è una forma d’arte.
I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento
▼ SEGUICI SU ▼
» Facebook per il Web e corsi online: https://www.facebook.com/developforfun
» Facebook di D4F Games: https://www.facebook.com/d4fgames
» Instagram per il Web e corsi online: https://www.instagram.com/develop4fun
» Instagram di D4F Games: https://www.instagram.com/d4f_games
» Twitter per il Web e corsi online: https://twitter.com/Develop4fun
» Twitter di D4F Games: https://twitter.com/D4fGames
» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q