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

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

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

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

Unity

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

Q&A

解決済

2回答

2790閲覧

(Unity,C#)重複しないようにランダム化させる

kiwi

総合スコア15

C#

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

Unity

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

0グッド

0クリップ

投稿2018/04/09 05:11

現在、50個の動画が入ったファイルの中からurlを使ってランダムに選ばれた動画が再生されるようになっています。
以下のようになっています。
int i = Random.Range(1, 50)
videoplayer.url = "file:///C:/Users/exp" + i + ".mp4";

しかし、これでは同じ動画が重複してしまいます。
目的は50個の動画全てをランダムな順番で再生させることです。
一度再生された動画はもう再生されません。
アドバイスなど何かお力添えをお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

先にランダムに並び替えたリストを準備して、

csharp

1List<string> randomFileList; 2 3randomFileList = Enumerable.Range(1, 50) 4 .Select(i => $"file:///C:/Users/exp{i}.mp4") 5 .OrderBy(_ => Guid.NewGuid()) 6 .ToList();

何番目を再生しているかインデックスを取っておくか、
再生するたびに再生したものを消していけば良いと思います。

csharp

1if (randomFileList.Any()) { 2 videoplayer.url = randomFileList.First(); 3 randomFileList.RemoveAt(0); 4}

投稿2018/04/09 08:02

sh_akira

総合スコア380

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

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

kiwi

2018/04/12 05:54 編集

すみません。 Feature interpolated strings cannot be used because it is not part of the C#4.0 language specification とエラーが出てしまいます。
sh_akira

2018/04/12 07:15

.Select(i => $"file:///C:/Users/exp{i}.mp4") この部分を .Select(i => "file:///C:/Users/exp" + i.ToString() + ".mp4") このように変えてみてください
guest

0

再生した動画の番号をリストに入れといて、乱数で動画を選択、リストにあればやり直し、なければ再生でいいんじゃないでしょうか

投稿2018/04/09 05:16

y_waiwai

総合スコア87774

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問