「Unity/MonoBehaviour」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→その他) |
(→その他) |
||
| 行93: | 行93: | ||
[SerializeField, Header("項目2")] private Button editButton; // SerializeFieldと一緒に書く場合 | [SerializeField, Header("項目2")] private Button editButton; // SerializeFieldと一緒に書く場合 | ||
[Space(30)] // 余白 | [Space(30)] // 余白 | ||
| + | </pre> | ||
==Tooltip== | ==Tooltip== | ||
[Tooltip("年齢")] | [Tooltip("年齢")] | ||
private int age = 1; | private int age = 1; | ||
2025年4月28日 (月) 10:33時点における最新版
目次
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)] // 余白
Tooltip
[Tooltip("年齢")]
private int age = 1;
