Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

32 total results found

変数と型

C#の入門

練習課題 記入できるファイルをダウンロード 変数の宣言と代入 ゲームを作っている間に、ゲームに関するいろんなデータを管理しなければならない。以下のデータについて考え、最も適する「データ型」を選択してください。 データ 型 例 プレーヤーの点数 整数型(int) int points = 100; プレーヤーの名前 答え 文字列(string) 答え   string playerName; 現在持っているアイテムの数 答え 整数型(int) 答え   int i...

比較

C#の入門

練習課題 記入できるファイルをダウンロード C#を読みましょう 以下の表は、C#で書いた命令とその日本語の意味が書いてある。空枠を完成してください。 C# 日本語 a > b 変数「a」は変数「b」よりも大きい? i <= 10 答え 変数「i」は「10」以下? 答え   playerHP > 0 プレーヤーの体力は残っている? stageSelect == "Tutorial" 答え 選択されたステージはチュートリアルであるか? ...

条件分岐

C#の入門

練習課題 記入できるファイルをダウンロード C#の処理を完成してみましょう 1. 以下のC#のプログラムを完成してください // ゲームでダメージを受け、残機を確認し、ゲームオーバーかどかう判定する int hp = 50; // 体力 int lives = 1; // 残機 int damage = 100; // ダメージ // ダメージを受け、体力を減らす ________________________________________ // もし、体力が0以下だったら... __________...

繰り返し

C#の入門

決まられた回数を繰り返す命令「for」 記入できるファイルをダウンロード 練習課題 C#を読みましょう 以下の表は、C#で書いた命令とその日本語の意味が書いてある。空枠を完成してください。 C# 日本語 for(int i = 0; i < 10; i++) 「i」という変数は 0から9までの値を変えながら、10回繰り返す for(int i = 1; i <= 10; i++) 答え 「i」という変数は 1から10までの値を変えながら、10回繰り返す for(int...

配列

C#の入門

練習課題 記入できるファイルをダウンロード C#を読みましょう 以下の表は、C#で書いた命令とその日本語の意味が書いてある。空枠を完成してください。 C# 日本語 int [] numbers = new int[10] 10個の整数が入る「numbers」という配列を作成 int [] numbers; 答え 整数型の配列を宣言のみ(初期化なし) string [] names = new string[5]; 答え 5個の文字列が入る「names」という配列を作...

メソッド

C#の入門

練習問題 C#を読みましょう int Sum(int a, int b) {     return a + b; } 説明: 2つの整数(aとb)を足して、その結果を整数として返す int Max(int a, int b) {     if (a > b)         return a;     else         return b; } 答え 2つの整数(aとb)の最も大きい数値(最大値)を返す bool CheckHasItem(string[] itemList, string i...

総合練習

C#の入門

変数、条件分岐、配列(またはリスト)、列挙、メソッドとクラスを使い、以下のスクリプト作りましょう ポーカー手札の判定 参考:ポーカー・ハンドの一覧 目標 手札にある5枚のカードを確認し、評価し、Debug.Logで判定を表示。 例:A♥ A♦ 10♣ 7♦ 3♠ - ワンペア を表示するのは目標である 解析 かなり大きな課題なので、わかりやすい「ミニ課題」に分割しましょう! スート スートは「ハート(Heart)、ダイヤ(Diamond)、クラブ(Club)、スペード(Spade)」のことである。固定である値なので...

クラス

C#の入門

C#の純粋クラス vs MonoBehaviour お気づきかもしれないが、通常のC#クラスとUnityの「MonoBehaviour」クラスにはいくつかの違いがある。基本的に、どちらのクラスもプロパティ(クラス変数)とメソッドを持てる。しかし、大きな違いもある。 通常のC#クラスはUnityエディターでは使用できない。GameObjectにアタッチできるのはMonoBehaviourのみである。 通常のC#クラスはnewキーワードを使ってインスタンス化するが、MonoBehaviourは直接インスタンス化できな...

プロジェクト設定

ブロック崩しゲーム

プロジェクト作成 まず、新規プロジェクトを作成しましょう。2Dゲームであるため「Universal 2D」を選んでください。プロジェクト名は「breakout」にしましょう。 素材を追加 ゲームに必要な素材を「Project」に追加しましょう。今回必要なのは 画像、絵 プレーヤーの「パドル」 ボール 各種のブロック(レンガ) 背景 UIに使う「ゲームオーバー」とボタン サウンド BGM 効果音 ボールとパドルの衝突 ボールと壁の衝突 ボールが失うときの音 「Sprites」と「Sound」フ...

課題

ブロック崩しゲーム

ブロック崩しゲームに新たな機能を追加し、よりも面白くする! 例えば… ハイスコア:ゲームを再開のあとに、最大のスコアが残る 1UP:1UPのアイテムを追加し、ボールで当たると、残機1つが増える マルチボール:特定のブロックを当たると、ボールが重複する マルチプレイ:2つのパドルを利用し、別々の入力で制御し、スコアも別々に管理 最後にボールを跳ね返したプレーヤーは点数をもらう ステージ2:ステージ1をクリアすれば、別のステージを始める 硬いブロック:別の色のブロックがあり、1回当たると色が変わり、もう1回当た...

パドル(Player)の移動

ブロック崩しゲーム

パドルが左右に移動できるようにしましょう。このスクリプトを使って: 左キーと右キーがInspectorで設定できるようにしたい。 速度もInspectorで調整できるようにしたい。 右か左キーを押したら、設定した速度をリジッドボディに与える(Rigidbody2D.linearVelocity) Scripts フォルダーの中に、新しいスクリプト「PlayerMove」を作成し、上記の機能を実装してみましょう。 スクリプトの変数 using UnityEngine; // パドルを移動するスクリプト publ...

ボールプレハブ

ブロック崩しゲーム

ボールがシーンに直接に追加するものではなく、実行中に生成するものであるため、プレハブとして作成しなければならない。とりあえず、現在のシーンを活用し、プレハブができたら、削除すれば良いでしょう。 プレハブ構築 シーンにボールのスクリプトをドラッグドロップで追加し、丸い「CircleCollider2D」を付けてください。ボールも物理的に動かす予定で、リジッドボディも追加してください。 ※ボールが見えなければ、「Order In Layer」または Z軸の位置を適切に変えてください 今回も重力を使わないので、「Gra...

ボールをどんどん生成

ブロック崩しゲーム

作ったプレハブを利用し、実行中にたくさんのボールを生成しましょう。 ボール生成する:BallShooter 今度のスクリプトは: 作成したプレハブを Inspector で指定できるようにする。 マウスの左ボタンを押したら、プレハブから実際に使うオブジェクトを生成。 最大数を制限する。 スクリプトの変数 Scripts フォルダーの中に新しい「BallShooter」を追加し、Inspector の変数を準備しましょう: using UnityEngine; // ボールを生成するスクリプト public c...

ブロックのプレハブ

ブロック崩しゲーム

つぎ、ブロックのプレハブを作成し、ボールが当たったら消える処理を作りましょう。 画像の前準備 ブロックの画像(スプライト)は、他のスプライトと比べて、1つではなく、同じ画像に多数が一緒にまとまっている。必要なメモリーの使用量を最適化するためにゲーム開発の中でよくある作戦である。 ただし、まとまったままで使えないので、先に分割しないといけない。このため、Unityは「Sprite Editor」(スプライトエディタ)がある。 まず、ブロック画像を選択し、Inspectorで「Open Sprite Editor」を選...

自動的にブロックを配置しよう~

ブロック崩しゲーム

お試しで手動でいくつかのブロックを配置したが、なかなか面倒な作業なので、自動的に配置しましょう。 スクリプト まず、手動で配置したブロックのすべてを消しましょう。その後、新しいスクリプト「BlockManager」を作成しましょう。このスクリプトは: 実行中にプレハブからブロックを生成する Inspectorで「行数」と「列数」を設定できるようにする BlockManager の位置から始め、連続にブロックを配置して行く まずは、変数から始めましょう: スクリプトの変数 using UnityEngine; ...

ボール跳ね返す角度をコントロールする

ブロック崩しゲーム

目的 今の作りだと、ボールがパドルを当たると、入射角を反転し、外向角になるだけで、プレーヤーがボール行かせたい方位を変えることができない。ある程度、ボールを行き先をコントロールできるように、パドルの「当たる部分」によって、跳ね返す向きを調整する処理を入れましょう。 これで、ボールがパドルの左側に当たると、ボールが左に行く。真ん中を当たると、真上に返す。右側を当たると、右に行くようにする。 解決のアイディア ボールとパドルの相対位置がポイント。ボールが衝突したら、パドルの位置とボールの位置を使い、その向きに返せば良...

ゲーム終了処理

ブロック崩しゲーム

次、「ゲームクリア」と「ゲームオーバー」の処理を追加しましょう。 ゲームオーバー このゲームでは、残機3つがあり、ボールが失ったら残機1つが減る。残機がゼロになった場合は「ゲームオーバー」にする。すでに「ボールが失ったら…」(BallDestroy)という処理があるので、これを活用できる。 ゲーム監督クラス「GameManager」を作成し、残機の数を追跡しましょう。BallDestroyのとき、GameManagerを呼び出し、残機を減らす処理を実装してみましょう: // ゲーム監督 public class G...

UIを作成

ブロック崩しゲーム

ゲームが動くが、画面になにも情報がなく、Canvas を使い、ゲームの状況を可視化しましょう。 Canvasの準備 まず、Canvas を作成し、残機とスコアの表示場所を作りましょう。 スコア スコアは画面の右上に表示しよう。テキストをを表示するので「TextMeshPro」で良いでしょう。必ず右上に出したいので、アンカーが画面の右上を追跡するようにしてください。位置を文字のサイズを調整し、とりあえず、「SCORE: 00000」を表示するようにしてください: 残機 残機は、スプライトの表示・非...