テトリスゲーム管理処理 スタートとゲームオーバーの作り方 スクリプト全文まとめ | Unity入門の森 ゲームの作り方

テトリスゲーム管理処理 スタートとゲームオーバーの作り方 スクリプト全文まとめ

Unity C# 落ち物ゲームの作り方


Unity入門の森オリジナル本格ゲーム制作講座はこちら
11種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

前回は3Dテトリスのスコアと何のブロックが落ちてくるかのUI作成を行いました。

前回の記事:

3Dテトリスのスコアと次に落ちてくるブロックを表示する処理とUIの作成
前回の記事でテトリスブロックの回転処理を作りました。落下、消滅、回転処理ができてかなりゲームらしくなってきましたね。 前回の記事: 今回の記事ではスコアや次に落ちてくるブロックの表示UIを作成していきます。 テトリススコアのUI作成 まず、...

今回の記事ではゲームの流れとなるスタート・ゲームオーバー処理を作成し、ゲームを完成させます。


【Line登録者限定のプレゼントもあるよ!】

開始ボタンの作成

まず、開始ボタンを押してからゲームを開始するようにしていきましょう!

「TetrisSceneManager」スクリプトを次のように修正してください。

GameObjectの追加

スクリプト側の準備ができましたので次は必要なGameObjectを追加していきます。

次の手順を行ってください。

  • メニューのGameObject > UI > CanvasをクリックしGameObjectをシーンに追加
  • 追加したGameObjectの名前は「TitleUI」にする

作成した「TitleUI」は次のGameObject階層にしてください。

  • TitleUI : UI > Canvas
  • – Title : UI > Text
  • – StartButton : UI > Button

GameObject階層を作成したら、次のように設定してください。

GameObjectの配置および設定ができたら、「TetrisSceneMangaer」コンポーネントに次のものを設定してください。

ここまでできたら再生して動作を確認してみてください。

次の画像のようになっていればOKです。

 

ゲームクリエイター専門学校の資料請求はこちら
【学歴不問・高卒、元ニートでも挑戦できる】

ゲームオーバー処理の作成

次にゲームオーバー処理を作成していきます。

「TetrisSceneManager」コンポーネントを次のように修正してください。

上の修正内容には「Grid」コンポーネントにマスの状態をクリアーするメソッドを追加しているのでそちらも作成します。

GameObjectの作成

GameObjectの配置ができましたら、「TetrisSceneMangaer」スクリプトに必要なGameObjectを追加していきます。

次の手順を行ってください。

  • メニューのGameObject > UI > CanvasをクリックしGameObjectをシーンに追加
  • 追加したGameObjectの名前は「GameOverUI」にする

作成した「GameOverUI」は次のGameObject階層にしてください。

  • GameOverUI : UI > Canvas
  • – Text : UI > Text

GameObject階層を作成したら、次のように設定してください。

GameObjectの設定ができましたら、シーンの「TetrisSceneManager」コンポーネントを次のように設定してください。

ここまでできたら再生して動作を確認してみてください。

次の画像のようになっていればOKです。

まとめ

今回の記事ではゲームの流れを作成しました。

まとめると次のようになります。

  • 開始ボタンを押すとゲームを始めるようにした
  • ゲームオーバー処理を作成

今回までで3Dテトリスの実装ができました。ですが、まだまだ改善点がたくさんあります。

ここから先は読者の方がご自身で改良してみてください。

ここまでご覧いただきありがとうございました。

3Dテトリスゲームスクリプトまとめ

ここまでの講座の内容で出てきたスクリプト全体をまとめます。

Block.cs

 

BlockInstance.cs

 

BlockTemplate.cs

 

Camera.cs

Grid.cs

 

TetrisScenemanager.cs

 



Unity入門の森オリジナル本格ゲーム制作講座はこちら
11種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

コメント

タイトルとURLをコピーしました