「Unity/MonoBehaviour」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→SerializeField) |
(→SerializeField) |
||
行73: | 行73: | ||
[SerializeField] [Range(0, 200)] private int age; // Inspectorで、0-200までの数字の入力がスライド付きでできる | [SerializeField] [Range(0, 200)] private int age; // Inspectorで、0-200までの数字の入力がスライド付きでできる | ||
[SerializeField] [TextAreaAttribute] private string descripton; // inspectorで複数行文字を入れることができる | [SerializeField] [TextAreaAttribute] private string descripton; // inspectorで複数行文字を入れることができる | ||
+ | [DisplayOnly] [SerializeField] private string companyName; // Inspectorで、text表示できるが、編集はできない | ||
</pre> | </pre> | ||
2023年12月2日 (土) 19:24時点における版
目次
MonoBehaviourとは
オブジェクトの基底クラス
オブジェクトを取ってくる方法
GameObject.Findを使うか、プロパティを使う。
プロパティを使う場合
- 以下SceneをMainCameraなどに貼り付ける
- MainCameraのInspectorを開き、PropertyObjectSceneのuserNameなどに文字を入れる
- MainCameraのInspectorを開き、PropertyObjectSceneのuserNameTextObjやuserNameTextに、Scene上に作ったTextオブジェクトをドラッグ
public class PropertyObjectScene : MonoBehaviour { public string userName; public int age; public GameObject userNameTextObj; public Text userNameText; public List<int> nums; // Start is called before the first frame update void Start() { // GameObjectからGetComponentして、設定する場合 userNameTextObj.GetComponent<Text>().text = userName; // Textへ直で、設定する場合 userNameText.text = userName; // ageを表示 Debug.Log("age=" + age); // リストなども使える foreach (int num in nums) { Debug.Log("num=" + num); } } }
GameObject.Findで取得
こちらを参照。 Unity/GameObject [ショートカット]]
csの処理順序
DefaultExecutionOrderを使う。
以下例では、DefaultExecutionOrder2Sceneの次に、DefaultExecutionOrderSceneが実行される。
[DefaultExecutionOrder(1)] // 大きいと遅く、小さいと早い、通常は0 public class DefaultExecutionOrderScene : MonoBehaviour { void Start() { Debug.Log("DefaultExecutionOrderScene"); } } [DefaultExecutionOrder(-1)] // 大きいと遅く、小さいと早い、通常は0 public class DefaultExecutionOrder2Scene : MonoBehaviour { void Start() { Debug.Log("DefaultExecutionOrder2Scene"); } }
前回Update処理からの時間取得
Time.deltaTime // 秒で取得(例:0.02)
SerializeField
[SerializeField]をつけるとAddComponentした際に、Inspectorに表示される
[SerializeField] private string userName; // Inspectorで、textの入力ができる [SerializeField] private bool on; // Inspectorで、チェックボックスがでる [SerializeField] private int age; // Inspectorで、数字の入力ができる [SerializeField] [Range(0, 200)] private int age; // Inspectorで、0-200までの数字の入力がスライド付きでできる [SerializeField] [TextAreaAttribute] private string descripton; // inspectorで複数行文字を入れることができる [DisplayOnly] [SerializeField] private string companyName; // Inspectorで、text表示できるが、編集はできない
参考:https://wizardia.hateblo.jp/entry/2023/10/26/100000
その他
[Header("項目1")] // 項目表示 [Space(30)] // 余白