0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

3DのTPSシューティングゲームを作りたい人の日記3

Posted at

はじめに

前回の記事を読んだ方からすればかなりお久しぶりです。またまた更新が遅くなってしまいました・・・。
前回の日記はこちら

この記事は私がUnityで3DのTPSシューティングゲームを作る過程を残しておくために書いています。

プログラムを組む過程で詰まったところで参考にしたもの等を書いていくので、同じようなことで詰まっている方の助けになればと思います。

作りたいもの

ステージ1が遊べるようになりましたー!!

**特定のアイテム(荷物)を集めてゴール(依頼主の家)まで運ぶ(配達する)**というのを目的としたゲームになっています。
TPSのゲームですが、TPSが苦手な人でも遊べるようになっています。

進歩

今回はスタート画面からゲームが終わってスタート画面に戻ることができるようになるまで作りました。デモ版という形で配布できるところまで来ました。
コード等は自分の苦戦した部分のみ説明します。

  1. ミニマップの表示
  2. アイテムのドロップ
  3. プレイヤーの攻撃エフェクトの表示
  4. 画面の遷移
  5. 音量調整機能の追加
  6. 遊び方の画面の追加
  7. データのセーブとロード
  8. SEとBGMの追加
    スクリーンショット 2021-03-01 142006.png

進歩動画↓

データのセーブとロード

今回、セーブとロードが必要なデータをtext形式で保存しました。読み込みと書き込みを同じ方法でしたかったので、読み込みにはStreamReaderを使い、書き込みにはStreamWriterを使いました。
苦戦したのは、ゲームとしてビルドした後に読み込みと書き込みを行うには専用のフォルダに入れて、ビルドした後のゲームで読み込めるパスを通さなければならなかった部分です。

読み込むテキストは次のようなデータにしていました。

# ID data1 data2
1   abc   あいう
2   def   かきく

というように、データの間をタブで区切るようにして1行が1ステージに対応する形式でデータにしていました。

ビルド後のゲームで使えるパスにするためには、データを書き込んだテキストファイルをAssetsフォルダの下に作成したStreamingAssetsフォルダに入れます。そして、プログラムでパスを指定するときはこのようにすることで上手く動作します。

string filePath = Application.dataPath + "/StreamingAssets/" + "データの書き込まれたファイル名.txt"; //テキストファイルのパス

データの書き込みや読み込みはいくつか種類があり用途によってどの方法を使うか選ぶ方が良いと思うので、参考にしたサイトを以下に載せておきます。
おもちゃラボ 【Unity】ファイルの読み込みと書き込み方法3選

今後

今後も改良を重ねて楽しいゲームにしていきたいと思っています。
個人的な区切りとしてゲームとして遊べるようになるまで日記を書き続けようと思っていたので、今回で一区切りとなります。
今後もこの日記を続けるかはわかりませんが、ここまで読んでくださってありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?