###実装したいこと
今音ゲーの譜面作成用のソフトを作っています。黄色いのがノーツです。緑のバーが今の曲の位置を示しています。再生ボタンもあり、再生すると曲のテンポに合わせてカメラが動きます。カメラ移動させる方法は、曲の長さと設定するテンポ(BPM)で計算してその一定の速度でカメラを移動させるという方法です。緑のバーのみカメラの子となっていて、それで緑のバーがテンポに合わせて移動する用に見せています。理想はこの緑のバーが黄色いノーツの中心に来たときに「カッ」という音を鳴らすことです。
###試したこと
C#
1 void Update(){ 2 //list_NotesTraPosYにはノーツのY座標が昇順ソートで入っている。 3 if (list_NotesTraPosY[count2] < Camera.transform.position.y) 4 { 5 Crap.PlayOneShot(Crap.clip); 6 count2++; 7 } 8 }
簡単にですが今試しているコードはこんな感じです。今の説明に関係ないものは抜いています。それと画像の数字はそれぞれのy座標を示しています。これをそのまま動かして見たのですが、ノーツの座標とは遅れて違う位置で音は鳴るし、y==1.5のような同じ座標にいくつもノーツがあるときは「カカカカ」と微妙に遅れて聞こえます。
ちなみに、以前に似たようなものを作っていてその時はRigidbodyを使っていました。ですがそれだとカメラのスピード(テンポ)が遅すぎると早めに音が鳴ってしまい、逆に早すぎると緑のバーがノーツと接触せず音が鳴らないということが起きていました。
###教えていただきたい所
1.カメラが動いてノーツの中心に来たときにどのような処理をすれば音が鳴るのか。
2.曲が始まってから緑のバーがノーツの座標に行くまでの時間もわかるのでそれを使って音を鳴らす方法も可能であれば教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/16 13:55