[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild4 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
273: くまじょ [sage] 2020/04/25(土) 15:30:30.75 ID:z5N+YfUG 乱数が選んだものをリストから抜いてリストの最後に追加しておくとか 乱数の範囲は要素数-1で最後の要素(前回選んだもの)を避ける 初回は必ずリストの最後が選ばれないことになるけど http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/273
276: 名前は開発中のものです。 [sage] 2020/04/25(土) 16:04:41.65 ID:2pXFtKle >>273の再生したSEをリストの最後に追加してランダムのレンジに含めないがスマートで実用的かもしれませんね。 +1などで処理すると結局順番に再生されるだけでランダムにならないから質問者の意図する挙動とは違ってしまうんじゃないでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/276
278: 267 [sage] 2020/04/25(土) 17:19:22.65 ID:c8LTCDvQ 皆さんから助言を頂いて有難うございました。 >>273の方のやり方で、ずっと試していました。先ほどエラーが全部消えてやっと動くようになりました。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ken_furu : MonoBehaviour { public List<AudioClip> _SE;//リスト型 4つのSE AudioClip DeleteClip; //選ばれて消えたSEを変数に入れる private AudioSource audioSourse; Animator animator; void Start() { animator = GetComponent<Animator>(); audioSourse = GetComponent<AudioSource>(); } public void SE() { int a = Random.Range(0, _SE.Count-1);//リストの最後の要素はランダムレンジから外す audioSourse.PlayOneShot(_SE[a]);//選ばれたSEを鳴らす AudioClip DeleteClip= _SE[a];//選ばれたSEをDeleteClipの変数に入れる _SE.RemoveAt(a); //選ばれて鳴ったSEを削除 _SE.Add(DeleteClip); //選ばれて消えたSEをリストの最後に追加 } } もしかしたら変な部分があるかもしれませんが、ちゃんと動いているようです。 本当に有難うございました。助かりました。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/278
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.469s*