Unityに関連する記事です

 ヒエラルキーにて右クリックをしてメニューを開き、 Create Empty を行います。名前を Test に変更します。
 Testスクリプトを作成し、Test ゲームオブジェクトにアタッチしてください



1.if(イフ)文

 
 Testスクリプトを開き、宣言フィールドに int 型の変数を宣言してみてください。変数名は自由です。
Start メソッド内に「宣言した int 型の変数の値が 100 以上だったら Debug.Log("買い物をした") という命令を実行する」という処理を作成してください。
 
ヒント
 〜だったら、〜をする、という処理は if 文を利用することで制御できます。
 どのような条件式を利用すれば実現できるのか、ロジックを考えましょう。

<if 文の書式>

  if (条件式) {
       // 条件を満たした場合の処理;
  }

 条件には処理結果として、bool(ブール)型のtrue(トゥルー)かfalse(フォールス)を返す式を記述します。(ここに必ず bool 型を書くわけではありません。)
条件が成立する場合に、if文の()に続く{ } ブロック内の処理が実行されます。成立しない場合は { } ブロック内の処理は実行されず、無視されます


回答例

 <= クリックすると開きます



2.変数の代入


 Test スクリプトで宣言した int 型の変数を初期化、あるいは Start メソッド内で値を代入して、
100 以上の場合の値が代入されている場合に、実際に Debug.Logが実行されて Console に処理が表示されるかを確認してみてください。
また 100 以下の値を代入した場合には Console には何も表示されないことも確認してください。

ヒント
 代入や初期化について分からないときには、コード練習2の変数をもう一度復習しましょう。


回答例(初期化した場合とStartメソッドで代入した場合と記述してありますが、いずれかで値を代入すれば問題ありません。)

 <= クリックすると開きます



3.if 〜 else(エルス) 文


 Test スクリプトを修正して、
「宣言した int 型の変数の値が 100 以上だったら Debug.Log("買い物をした") という命令を実行する。
 100 未満の場合には Debug.Log("お金が足りない")」という処理を作成してください。

 2の手順と同じように、int 型の変数に値を代入して、値によって処理が分岐されて、Console に処理が表示されるかを確認してください。
例えば、代入する値を 150 と 50 にしたりして確認を行ってください。

ヒント
 条件となる内容を考えてみましょう。条件を満たす以外の場合の処理については、if 〜 else 文が利用できます。

<if 〜 else 文の書式>

  if (条件式) {
        // 条件を満たした場合の処理;
  } else {
        // 条件を満たさなかった場合の処理;
  }


回答例(初期化した場合とStartメソッドで代入した場合と記述してありますが、いずれかで値を代入すれば問題ありません。)

 <= クリックすると開きます



4.if 〜 else if 〜 else 文


 Test スクリプトを修正して、
「宣言した int 型の変数の値が 300 以上だったら Debug.Log("とても高い買い物をした") という命令を実行する。
 299 - 100 の場合には Debug.Log("買い物をした") という命令を実行する。
 100 未満の場合には Debug.Log("お金が足りない")」という処理を作成してください。

 2の手順と同じように、int 型の変数に値を代入して、値によって処理が分岐されて、Console に処理が表示されるかを確認してください。
例えば、代入する値を 450 と 150 にしたりして確認を行ってください。


ヒント
 1つの値に対して3つ以上の評価を行う分岐処理が必要な場合には、if 〜 else if 〜 else 文を使います。
 if 〜 else 文を2つ記述しても処理を実装できますが、今回はこちらの書式を利用してみましょう。
 ポイントは、条件式の記述の順番です。設問の条件を満たす処理を記述するためには、設問の順番通りに並べて記述する必要はありません。
 大切なのは処理結果であることを念頭に置いてロジックを考えてみてください。

<if 〜 else if 〜 else 文の書式>

  if (条件式1) {
        // 条件1を満たした場合の処理;
  } else if (条件式2) {
        // 条件2を満たした場合の処理;
  }
   else {
        // 全ての条件を満たさなかった場合の処理;
  }


回答例

 <= クリックすると開きます



5.条件式用の演算子


演算子    意味
==    左辺と右辺が等しい場合にtrue
!=    左辺と右辺が等しくない場合にtrue
>    左辺が右辺より大きい場合にtrue
>=    左辺が右辺以上の場合にtrue
<    左辺が右辺より小さい場合にtrue
<=    左辺が右辺以下の場合にtrue
&&    左右の条件式の両方がtrueであればtrue
||    左右の条件式のどちらかがtrueであればtrue

 特に注意したいのは「==」です。左辺と右辺が等しい場合というのはC#での記述は「==」です。
「=」だけですと、それは変数への代入を意味してしまうため、比べる条件にはなりません。


6.応用問題


 処理の途中で値が変わる場合に、どのように分岐が変化するかを確認してみましょう。

 変数を初期化して 50 を代入したあとに、Start メソッド内でこの値を 400 に変更した場合にはどうなるのか、あるいはその逆の場合にはどうなるのか
どうやって処理が動いているかを確認してみてください。

 

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます