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

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

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

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

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

Q&A

解決済

3回答

1063閲覧

Resources.LoadAllが実行されない

Qoo

総合スコア1249

C#

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

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

0グッド

0クリップ

投稿2019/12/16 02:25

表題の通りですが、Resources.LoadAlを使用してResourcesディレクトリ内の動画データ(mp4)を
取得しようとしれいるのですが、Resources.LoadAll自体が実行されません。(debugが表示されない)
試しにTexture2Dにしても同じでした。

フォルダ名表示のdebug.logは実行されていて
フォルダ名も実際に存在しており、エラーにもなっておりません。

フォルダ名の中にはmp4ファイルが2つ、pngファイルが2つ配置しております。
windows向けビルドですが、開発はmacで行っており、mac上のエディタで開発しながら確認しています。

何かおかしなところはありますでしょうか

c#

1 2string categoryno = "フォルダ名"; 3Debug.Log(categoryno); 4 5Texture2D[] sp = Resources.LoadAll(categoryno, typeof(Texture2D)) as Texture2D[]; 6Debug.Log("---" + sp.Length); 7 8VideoClip[] video = Resources.LoadAll(categoryno, typeof(VideoClip)) as VideoClip[]; 9Debug.Log("---" + sp.Length); 10

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

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

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

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

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

guest

回答3

0

自己解決

取り急ぎDirectory.GetFilesクラスを使用して
ファイル名を取得した後、ごにょごにょするようにして対応してみます。

c#

1 string AppPath = ""; 2 3 if (System.IO.Directory.Exists(Application.dataPath + "/Resources")) 4 { 5 AppPath = Application.dataPath + "/Resources"; 6 return; 7 } 8 9 //フォルダにあるファイルを全て取得する 10 string[] names = Directory.GetFiles(AppPath + "/" + categoryno, "*"); 11 12 thum = new List<string>(); 13 video = new List<string>(); 14 txt = new List<string>(); 15 16 foreach (string name in names) 17 { 18 19 if (System.IO.Path.GetExtension(name) == ".png") { 20 thum.Add(name); 21 } 22 else if (System.IO.Path.GetExtension(name) == ".mp4") 23 { 24 video.Add(name); 25 } 26 else if (System.IO.Path.GetExtension(name) == ".txt") 27 { 28 txt.Add(name); 29 } 30 31 }

投稿2019/12/16 13:29

Qoo

総合スコア1249

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

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

0

エラーもでず、debug.logが表示されない原因はよくわかりませんが、
Unity5.5から(?)配列のキャストが出来なくなっているようですのでTexture2D[]ではなく、Object[]で試してみてはいかかでしょうか。

Object[] sp = Resources.LoadAll(categoryno, typeof(Texture2D));

【Unity】Resources.LoadAllによる一括読込の注意

Resources.LoadAll

投稿2019/12/16 07:14

simapiko

総合スコア332

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

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

0

Resources.LoadAllの()内のフォルダー指定を""で囲っていないから指定できていないのでは?
Resources.LoadAll("categoryno", typeof(Texture2D))で出来るんじゃないでしょうか。

投稿2019/12/16 04:20

Y0241-N

総合スコア1066

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

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

Qoo

2019/12/16 04:43

categorynoはstring型の変数なのですが、ダブルクオーテーションで囲む必要ってあるのでしょうか?? ""で囲っても結果は同じでした。。
Y0241-N

2019/12/16 04:47

stringを代入せずに、そのまま代入部分にダブルクォーテーションで囲ったフォルダ名を記述して実行してもダメですか?
Qoo

2019/12/16 06:51

はい、こちらも既に実施済みです。 フォルダ名を直接設定したり、フォルダ名を変えたりしてもダメなのです。。 謎です。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問