Sono abbastanza nuovo in C#, proveniente da un forte background in Java, Python e alcuni elementi "web". Quindi probabilmente mi manca un po 'di conoscenza qui, che spero che qualcuno possa riempire per me.In Unity cosa sta succedendo esattamente quando implemento Update() e altri messaggi da MonoBehaviour
Passando attraverso l'API Unity Scripting, ho notato molti metodi, elencati sotto "Messaggi", che è il mio primo punto di confusione. Qual è esattamente la differenza tra un "Messaggio" e un "Metodo", per me sembrano come se fossero la stessa cosa, ma la terminologia mi sta buttando fuori.
Il mio secondo punto di confusione è che quando implemento un "Messaggio" come Update() nelle mie classi derivate, non devo usare la parola chiave override. Il che mi turba, perché non lo nasconderei? In tal caso, il ciclo di aggiornamento non dovrebbe conoscere solo MonoBehaviour e non la mia classe derivata e chiamare Update() in MonoBehaviour, invece della mia classe? Questo mi sta lanciando per un ciclo. Mi diverte che questo accada dietro le quinte?
Sono andato molto d'accordo con Unity e C#, questo è solo un punto critico per me, dove mi sento come se mi mancasse qualche conoscenza.
Questo chiarisce bene le cose. Grazie. –
SendMessage() usa la riflessione. Update() non usa SendMessage() - Vedi la sezione "Come si chiama l'aggiornamento" in blogs.unity3d.com/2015/12/23/1k-update-calls – BlueSilver