回答編集履歴

1

記述を修正した

2022/02/13 11:18

投稿

bboydaisuke
bboydaisuke

スコア5339

test CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  多分コンポーネントの変数を宣言して何も代入していない(例: Rigidbody rb; とだけ書く)時の事を言っているのだと思いますが、この時は初期化されず変数には既定値である null が入ります。
4
4
 
5
- 一般的な C# のプログラミングを学んでいるならば、"Rigidbody rb = new Rigidbody();" と書いて初期化をしようとするかもしれませんが、コンポーネント変数に対してこのように書くことは Unity では許可されていません。実行すると警告が出力されます。
5
+ 一般的な(Unity ではない)C# のプログラミングを学んでいるならば、"Rigidbody rb = new Rigidbody();" と書いて初期化をしようとするかもしれませんが、コンポーネント変数に対してこのように書くことは Unity では許可されていません。実行すると警告が出力されます。
6
6
 
7
- 従って Start と Awake の場合だけ考えればよいと思いますが、それについては unity start awake で検索すると記事がたくさん見つかると思います。ドキュメント的な説明では「Awake はインスタンスが生成された直後」「Start はインスタンスが生成された後に最初の Update が呼び出される前」ですが、それがどういう違いなのかはいろいろな記事を見てみるとよいと思います。「Start だけ使ってる事によってどんな不都合が起きるのか」を考えながら読むとよいと思います。実際にその不都合を経験していると、理解しやすいと思います。
7
+ 従って Start と Awake の場合だけ考えればよいと思いますが、それについては unity start awake で検索すると記事がたくさん見つかると思います。ドキュメント的な説明では「Awake はインスタンスが生成された直後」「Start はインスタンスが生成された後に最初の Update が呼び出される前」ですが、それがどういう違いなのかはいろいろな記事を見てみるとよいと思います。「Start だけしか使わなどんな不都合が起きるのか」を考えながら読むとよいと思います。実際にその不都合を経験していると、さらに理解しやすいと思います。