Unityに関連する記事です

 この問題集は、UnityとC#の初心者が戻り値の基本的な使い方を理解することを目指しています。
具体的なゲーム開発の状況を想定して問題を作成しました。コード例も提供していますので、ぜひ挑戦してみてください。



戻り値


 メソッドが計算結果などを「返す」ことを「戻り値を返す」と言います。
例えば、「int Add(int a, int b)」という関数は、二つの整数を引数に取り、それらの合計を戻り値として返します。

int Add(int a, int b) {
    return a + b; // aとbの合計を返す
}

 この関数は、以下のように使われます。

int sum = Add(3, 5); // sumには、Add関数の戻り値が代入され、sumは8になります。


戻り値の利用場所


 戻り値はメソッドの処理結果であるため、型の値を保持します。

 よって、if 文などの条件式内や、代入処理の右辺に記述することが出来ます。


<if 文の条件式での利用例>
if(Input.GetMouseButtonDown(0)){
    // マウスクリックした際の処理

}



<代入処理での利用例>
Rigidbody rb;

void Start() {
    rb = GetComponent<Rigidbody>();
}

 普段から利用している処理も、多くは戻り値のメソッドであり、その活用している理由をしっかりと理解していく必要があります。

 そうすることで、戻り値のあるメソッドを使いこなせるようになります。


問題1


  
  プレイヤーの攻撃力(attackPower)と敵の防御力(defensePower)を引数に取り、実際のダメージ量を計算して返すメソッドを作成してください。 
 ここでは、ダメージ量は攻撃力 - 防御力とします。

<= クリックすると回答のサンプルコードが表示されます




 ◆  
  ,悩鄒したメソッドを活用した、実装例を作成してください。

  プレイヤーの攻撃力(attackPower)と敵の防御力(defensePower)をメンバ変数かローカル変数で定義し、
 Start メソッド内において、,悩鄒したメソッドを利用して、戻り値による代入処理によって実際のダメージ量を計算した結果を受け取ってください。


<= クリックすると回答のサンプルコードが表示されます



問題2


  
  あるNPCとの会話で得られる情報を基にクエストを進行させるため、NPCから得られる情報を整数値として返すメソッドを作成してください。
 具体的には、"こんにちは"を1、"元気ですか?"を2、"クエストを進めるには山を越えてください"を3として返します。

<= クリックすると回答のサンプルコードが表示されます




 ◆
  問題の応用として、,悩鄒したメソッドを活用した、実装例を作成してください。

  NPCとの対話が発生した際に、メソッドを呼び出し、その戻り値に基づいて異なるアクションを制御します。
 NPC からのメッセージをメンバ変数かローカル変数で管理し、メソッドの戻り値を利用して、プレイヤーの処理を分岐してください。


<= クリックすると回答のサンプルコードが表示されます



問題3


 プレイヤーがアイテムを使うと、そのアイテムに応じた効果を返すメソッドを作成してください。
例えば、"回復ポーション"を使うと、HPが20増え、"攻撃力アップの薬"を使うと、攻撃力が10増えます。

 これらの結果を文字列として返すメソッドを作成してください。

<= クリックすると回答のサンプルコードが表示されます





 ◆
  問題の応用として、,悩鄒したメソッドを活用した、実装例を作成してください。

  メンバ変数かローカル変数で使用するアイテムを文字列で保持し、それを作成したメソッドの引数に利用して使用結果を取得してください。


<= クリックすると回答のサンプルコードが表示されます



問題4


 プレイヤーが戦闘で敵を倒すと、その敵の種類に応じて得られる経験値を返すメソッドを作成してください。
例えば、"スライム"を倒すと10ポイント、"ドラゴン"を倒すと100ポイントの経験値が得られます。他にも任意に分岐を追加してください。


<= クリックすると回答のサンプルコードが表示されます




 ◆
  問題の応用として、,悩鄒したメソッドを活用した、実装例を作成してください。

  メンバ変数かローカル変数で使用するアイテムを文字列で保持し、それを作成したメソッドの引数に利用して使用結果を取得してください。
 また獲得した経験値と倒した敵の情報をログとして一緒に出力してください。


<= クリックすると回答のサンプルコードが表示されます



まとめ


 これらの問題を通じて、C#とUnityを使用した基本的なプログラミングの概念、特に戻り値について理解を深めることができました。
また、ゲームのコンテキストにおけるこれらの概念の応用についても学びました。

 初めて学ぶ概念かもしれませんが、繰り返しコードを書いて理解を深めていきましょう。
もし難しい場合は、1つずつゆっくりと進めていくことが大切です。

 これらの問題に挑戦し、それぞれの解答例と解説を読むことで、基本的な概念の理解を深めていきましょう。

コメントをかく


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

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

Menu



技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

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

3D脱出ゲーム(抜粋)

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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