publicで宣言するのと[SerializeField] privateで宣言する違いについて | Unity Forum | Tech Stadium Forum

publicで宣言するのと[Seria...
 
通知
すべてクリア

publicで宣言するのと[SerializeField] privateで宣言する違いについて  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
05/01/2021 8:41 am  

Unityで玉転がしゲーム②の6:00あたりで
[SerializeField] privateでスクリプトの変数の宣言しているのですが、

publicで宣言するのと[SerializeField] privateで宣言する違いについてお聞きしたいです。
[SerializeField] privateで宣言する際は他のスクリプトでは操作されない(カプセル化)けれど、
Unityのインスペクター上では操作できるという認識でよいでしょうか?

publicで宣言する際
public GameObject target;[SerializeField] private で宣言する際
[SerializeField] private GameObject target; 


引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
05/01/2021 8:41 am  

おっしゃる通りで、publicにすると他のスクリプトからも値の変更ができてしまう点が問題になりがちなので、
インスペクター上で編集したいという目的の変数は基本[SerializeField]を使ってprivateで宣言します。

1人で開発してる時ならあまり問題は無いかもしれませんが、複数人で開発してる時などは特に重要になります。


返信引用
共有:
タイトルとURLをコピーしました