質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1367閲覧

NoteEditorのjsonファイルを読み取ってnotesに反映させる方法が分かりません。

syosinsya1

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2023/04/16 07:09

unityで音ゲーを作りたいと考えています。
人生で初めて.jsonファイルを使うので全然わからなくて悩んでます。
すみません初めて質問するので、この質問の仕方で正しいのかわかりませんがよろしくお願いします。

  • [ 譜面を作った時に保存したjsonファイルをunityに読み込ませたい]
  • [ 読み込ませたものをprefabにあるnotesに反映させる]

前提

ここに質問の内容を詳しく書いてください。

c#のスクリプトで、.jsonファイルを読み込ませたいが、うまくいきません。いろんなサイトを拝見したのですが、すべて試してもできませんでした。どこの変数を使えばいいかもわからなくて本当に悩んでいます。
参考にしているサイト
https://baba-s.hatenablog.com/entry/2018/04/16/085900
https://memonoana.hatenablog.com/entry/2019/05/22/005823
https://teratail.com/questions/rz9y2ow2vnqgh9

発生している問題・エラーメッセージ

エラーメッセージ ``` The type or namespace name 'Serializable' could not be found (are you missing a using directive or an assembly reference?) など、Serializableについてが多かったです。 ### 該当のソースコード ```c# ソースコード ```using System.Collections; using System.Collections.Generic; using UnityEngine; [Serializable] public class Humen { public string name; public int maxBlock; public int BPM; public int offset; public Notes[] notes; } [Serializable] public class Notes { public int num; public int block; } public class NotesGenerator : MonoBehaviour { int note; float TimeCount = 0.01f; public GameObject notepref; public GameObject exnotepref; void Start() { string inputString = Resources.Load<TextAsset>("音ゲー用").ToString(); Humen inputJson = JsonUtility.FromJson<Humen>(inputString); for (int a = 0; a < 300; a++) { Instantiate(notepref, new Vector3(-4 + inputJson.notes[a].block * 2f, 0f, 40 + ((inputJson.notes[a].num * 600) / inputJson.BPM) * 1.0f), Quaternion.identity); Debug.Log("Num:" + inputJson.notes[a].num + " Block:" + inputJson.notes[a].block + " A:" + a); } } } ### 試したこと いろんなサイトを読んで張り付けたりしたがうまくいかなかった。 ### 補足情報(FW/ツールのバージョンなど) jsonファイルの中身はこれです。 {"name":"音ゲー用","maxBlock":5,"BPM":120,"offset":0,"notes":[{"LPB":4,"num":0,"block":2,"type":1,"notes":[]},{"LPB":4,"num":3,"block":3,"type":1,"notes":[]},{"LPB":4,"num":8,"block":1,"type":1,"notes":[]},{"LPB":4,"num":16,"block":2,"type":1,"notes":[]},{"LPB":4,"num":20,"block":1,"type":1,"notes":[]},{"LPB":4,"num":24,"block":3,"type":1,"notes":[]},{"LPB":4,"num":54,"block":1,"type":1,"notes":[]},{"LPB":4,"num":66,"block":2,"type":1,"notes":[]},{"LPB":4,"num":84,"block":3,"type":1,"notes":[]},{"LPB":4,"num":92,"block":1,"type":1,"notes":[]},{"LPB":4,"num":108,"block":2,"type":1,"notes":[]},{"LPB":4,"num":121,"block":3,"type":1,"notes":[]},{"LPB":4,"num":134,"block":1,"type":1,"notes":[]}]}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Notes クラスの定義が違うようです。それがエラーの原因かどうかは分かりませんが。

提示されている JSON 文字列からは Note クラスの定義は以下のようになるはずです。

public class Note { public int LPB { get; set; } public int num { get; set; } public int block { get; set; } public int type { get; set; } public object[] notes { get; set; } }

投稿2023/04/16 07:28

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syosinsya1

2023/04/16 08:30

エラー件数が9から4に減ったのですが、まだ同じようなエラー文があります。どうすればよいでしょうか。
syosinsya1

2023/04/16 08:31

The type or namespace name 'SerializableAttribute' could not be found (are you missing a using directive or an assembly reference?)
syosinsya1

2023/04/16 09:59

using System; ってやったらできました。すみません本当にありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問