[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
699: 2017/12/08(金)02:06 ID:rY92HIWe(3/5) AAS
次に下の例を見てください。
[例]
int i=0;
for(i=10; i>0; i--){
Debug.Log("i=" + i );
}
これはスタート値10から始まり、0に向かって1ずつiの値を減らしていっています。
実行結果は「i=10」「i=9」…「i=1」となります。
初心者が間違えやすいのが「i>0;」部分を終了条件と思う事です。
ここは終了条件ではなく『継続条件』です。
この部分の式が成立している間 for文 は繰り返しを実行し続けると思ってください。
上の例を言葉で表すと
「iの中身が0より大きい場合、繰り返してください」となります。
[例]
int i=0;
for(i=10; ; i--){
Debug.Log("i=" + i );
}
これは「継続条件」を記述していない例です。
これでもエラーにはなりませんが絶対に実行しないでください。
この場所でプログラムが永遠と繰り返され続けUnityがフリーズしてしまいます。
これを『無限ループ』と呼びます。
無限ループが発生するとUnityを強制終了しないと終わらせられなくなります。
強制終了のやり方が分からない人は絶対に実行しないでください。
このように継続条件式を書く部分はとても重要です。
上下前次1-新書関写板覧索設栞歴
あと 303 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.014s