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

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

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

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

解決済

Unity・C# error CS1061エラーの解決方法

shimashimaaaa
shimashimaaaa

総合スコア1

C#

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

1回答

0リアクション

0クリップ

296閲覧

投稿2022/10/05 11:49

編集2022/10/05 11:51

前提

C#でシューティングゲーム制作しています。
配置データを管理するスクリプトで
以下のこのエラーが出てしまっています。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • ▲▲機能を動作するようにする

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

Assets\sozai\RoomManager\SaveDataManager.cs(24,58): error CS1061: 'SaveData[]' does not contain a definition for 'Lendth' and no accessible extension method 'Lendth' accepting a first argument of type 'SaveData[]' could be found (are you missing a using directive or an assembly reference?)

該当のソースコード

C#

using System.Collections; using System.Collections.Generic; using UnityEngine; public class SaveDataManager : MonoBehaviour { public static SaveDataList arrangeDataList; //配置データ // Start is called before the first frame update void Start() { //SaveDataList初期化 arrangeDataList = new SaveDataList(); arrangeDataList.saveDatas = new SaveData[] { }; //シーン名を読み込む string stageName = PlayerPrefs.GetString("LastScene"); //シーン名をキーにして保存データを読み込む string data = PlayerPrefs.GetString(stageName); if(data != "") { //ーーーセーブデータが存在する場合ーーー //JSONからSaveDataListに変換する arrangeDataList = JsonUtility.FromJson<SaveDataList>(data); for(int i = 0; i < arrangeDataList.saveDatas.Lendth; i++) { SaveData savedata = arrangeDataList.saveDatas[i]; //配列から取り出す //タグのゲームオブジェクトを探す string objTag = savedata.objTag; GameObject[] objects = GameObject.FindGameObjectsWithTag(objTag); for (int ii = 0; ii < objects.Length; ii++) { GameObject obj = objects[ii]; //配列からGameObjectを取り出す if (objTag == "ItemBox") //宝箱 { ItemBox box = obj.GetComponent<ItemBox>(); if (box.arrangeId == savedata.arrangeId) { box.isClosed = false; //arrangeIdが同じなら開く box.GetComponent<SpriteRenderer>().sprite = box.openImage; } } else if (objTag == "Item") //アイテム { ItemData item = obj.GetComponent<ItemData>(); if (item.arrangeId == savedata.arrangeId) { Destroy(obj); //arrangeIdが同じなら削除 } } else if (objTag == "Enemy") //敵 { EnemyController enemy = obj.GetComponent<EnemyController>(); if (enemy.arrangeId == savedata.arrangeId) { Destroy(obj); //arrangeIdが同じなら削除 } } } } } } // Update is called once per frame void Update() { } //配置Idのセット public static void SetArrangeId(int arrangeId,string objTag) { if(arrangeId == 0 || objTag == "") { //記録しない return; } //追加するために1つ多いSaveData配列を作る SaveData[] newSavedatas = new SaveData[arrangeDataList.saveDatas.Length + 1]; //データをコピーする for(int i = 0; i < arrangeDataList.saveDatas.Length; i++) { newSavedatas[i] = arrangeDataList.saveDatas[i]; } //SaveData作成 SaveData savedata = new SaveData(); savedata.arrangeId = arrangeId; //Idタグを記録 savedata.objTag = objTag; //タグを記録 //SaveData追加 newSavedatas[arrangeDataList.saveDatas.Length] = savedata; arrangeDataList.saveDatas = newSavedatas; } //配置データの保存 public static void SaveArrangeData(string stageName) { if(arrangeDataList.saveDatas != null && stageName != "") { //SaveDataListをJSONデータに変換 string saveJson = JsonUtility.ToJson(arrangeDataList); //シーン名をキーにして保存 PlayerPrefs.SetString(stageName, saveJson); } } }

試したこと

インターネットで検索し打ち直しなど行った

補足情報(FW/ツールのバージョンなど)

Visual Studio2019
Unity 2020.3.25f1

ご教授お願いいたします。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

Sobasenbei

2022/10/05 12:31

Lendth Lengthの間違いでは

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

C#

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