I numeri decimali richiedono una f
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 3 di 85.
I numeri interi non bastano per un gioco: un palloncino fluttua a 3.5, un giocatore corre a 4.2 unità al secondo. I numeri con la virgola hanno un tipo tutto loro, float:
float speed = 4.2f;Nota la f alla fine. In C#, un semplice 4.2 è un double, un altro tipo decimale, e le posizioni e le dimensioni di Unity sono valori float. La f indica a C# che il numero è un float. Se la ometti, Unity si rifiuta di avviare il gioco e mostra questo errore nella Console:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this typeSembra spaventoso, ma significa solo «aggiungi la f». Un numero intero come 2 non ha bisogno della f: così com'è, può essere rappresentato come float.
Un'altra sorpresa: dividendo due int si ottiene solo la parte intera, quindi 7 / 2 dà 3. Scrivi 7 / 2f per ottenere 3.5.
Sfida
FacileCorreggi lo script del palloncino, poi fallo fluttuare più in alto e diventare più grande.
- Premi «Gioca»: la Console mostra l’errore CS0664 sulla riga
height. - Modifica quella riga così:
float height = 3.5f;. - Modifica la riga della dimensione così:
float size = 1.5f;. Ogni numero con la virgola decimale deve avere la suaf.
Premi «Gioca»: il palloncino fluttua a 3.5, una volta e mezza la sua dimensione. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Balloon : MonoBehaviour
{
void Start()
{
float height = 2.5;
float size = 1;
transform.position = new Vector3(0, height, 0);
transform.localScale = new Vector3(size, size, size);
}
}
Tutte le lezioni di Fondamenti di scripting in Unity
1Nozioni di base di C# in Unity
Ciao, UnityVariabiliI numeri decimali richiedono una fTesto nella ConsoleVariabili che ricordanoIf ed ElseConfrontare i numeriRipasso: il collezionista di monete7Cicli e metodi
Ripeti con forCicli annidatiScrivere un metodoMetodi che restituiscono valoriArrayRiepilogo: scala10Trovare gli oggetti
Trovare per nomeTagTrovare per tipoI riferimenti battono la ricercaIl null di UnityRipasso: la moneta più vicina13Progetto: Schiva i blocchi
Il corridoreBlocchi dal cielo2Fallo muovere
Posiziona il cuboMuovilo a ogni frameRuotalo ogni secondoGuidalo con i tastiRiepilogo: guida il cubo5Vettori
Somma di vettoriDirezioniSpazio locale e spazio mondoVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni8GameObject e componenti
Riferimenti nell'InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRiepilogo: interruttore della luce3L’Inspector
Campi dell’InspectorSerializeFieldNumeri decimali e MathfAttributi dell’InspectorRiepilogo: ascensore6Trasformazioni e gerarchia
Genitori e figliIssare la bandieraScalaOsservare gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita9Progetto: Acchiappa la stella
Il raccoglitoreUna stella cadente12Il ciclo di vita dello script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL'ordine del ciclo di vitaRiepilogo: Lifecycle LoggerEsercitati da solo: Playground Unity