「Unity/MonoBehaviour」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→SerializeField) |
(→選択形式) |
||
(同じ利用者による、間の1版が非表示) | |||
行79: | 行79: | ||
===選択形式=== | ===選択形式=== | ||
− | <pre> | + | <pre> |
enum CompanyType | enum CompanyType | ||
{ | { | ||
行91: | 行91: | ||
<pre> | <pre> | ||
[Header("項目1")] // 項目表示 | [Header("項目1")] // 項目表示 | ||
+ | [SerializeField, Header("項目2")] private Button editButton; // SerializeFieldと一緒に書く場合 | ||
[Space(30)] // 余白 | [Space(30)] // 余白 |
2023年12月5日 (火) 09:22時点における最新版
目次
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で複数行文字を入れることができる [SerializeField] private color lineColor = Color.red; // Inspectorで、色編集ができる
参考:https://wizardia.hateblo.jp/entry/2023/10/26/100000
選択形式
enum CompanyType { Toyota, Nissan, } [SerializeField] private CompanyType companyType = CompanyType.Toyota; // Inspectorで、選択ができる
その他
[Header("項目1")] // 項目表示 [SerializeField, Header("項目2")] private Button editButton; // SerializeFieldと一緒に書く場合 [Space(30)] // 余白