venerdì 14 ottobre 2016

Orologio

Progetto Base: Orologio

Obbiettivi

  • Creare una gerarchia di oggetti
  • Creare uno script
  • Usare i namespace
  • Usare la funzione Update()

Progetto

Iniziamo col creare un nuovo progetto. La scena di default inizia con due componenti, la Main Camera posizionata alle coordinate (0,1,-10) e la Directional Light alle coordinate (0,3,0).

 

Necessitiamo di una struttura per costruire l'orologio. Questo orologio sarà composto da semplici cubi, animati attraverso scripts.

Creiamo dunque nel pannello della gerarchia (eng. Hierarchy) un nuovo oggetto vuoto attraverso Create -> Create Empty. Con lo stesso procedimento, avendo selezionato il nuovo oggetto vuoto, creiamo tre cubi attraverso Create->3D Object->Cube, rendendoli dunque figli del nuovo oggetto. Rinominiamo il nuovo oggetto creato "Orologio", ed impostiamo le sue coordinate a (0,0,0).

   

Rinominiamo i cubi creati in "Ore", "Minuti", "Secondi" e cambiamo le scale in modo da avere come posizioni (0, 1, 0),(0, 1.5, 0),(0, 2, 0) e come scala (0.5, 2, 0.5),(0.25, 3, 0.25),(0.1, 4, 0.1), rispettivamente per le ore, i minuti ed i secondi.

Passiamo ora ad animare l'orologio.

Creiamo uno script nella vista del Progetto e chiamiamolo "Animatore_Orologio". Lo apriamo e cominciamo a scrivere le 3 variabili Transform delle Ore, Minuti e Secondi. Attacchiamo questo script all'oggetto creato (io ne ho creato un'altro chiamato "Detentore_Scripts". In genere è l'oggetto che detiene tutti gli script che si occupano di gestire script da non assegnare ad altri oggetti, dunque unici) e trasciniamo sopra le lancette ai relativi campi.


Notiamo che stiamo usando il namespace di UnityEngine, senza il quale non potremmo includere MonoBehaviour.

   

 Cominciamo ora a scrivere:

 

Come dovrebbe muoversi l'orologio? Consideriamo, per ora, un orologio digitale.
Consideriamo la lancetta delle ore. Per compiere un giro completo (360°) deve fare 12 passi; la lancetta dei minuti, invece, 60, come la lancetta dei secondi. Dunque si ha:
la variabile "in_Analogico" tornerà utile più tardi.

 Vogliamo conoscere il tempo ad ogni aggiornamento, dunque scriviamo:




Vogliamo dunque ruotare le lancette modificandone la rotazione:






Abbiamo ora un orologio digitale in tempo reale. E se ne volessimo uno analogico?

Per cambiare da analogico a digitale ci basta premere il segno di spunta.

Clicca qui per scaricare il materiale!

Nessun commento:

Posta un commento