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

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

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

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

Q&A

0回答

718閲覧

【音ゲー】ロングノーツ中の演出

tuna-uniko

総合スコア10

C#

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

0グッド

0クリップ

投稿2021/03/02 07:42

ロングノーツの実装を行い、判定中に音符が飛び出す演出を作っています。以下のようなスクリプトを組みテストしていたのですが、ボタンを押している間パーティクルが再生されるようにしたいのですがボタンを離した瞬間のみ処理され、通常タップノーツや始点の判定・長押し中にパーティクルが再生されない状態に陥っています。
####コード

C#

1//このレーンでの判定タイミング中に特定のボタンを押す 2     if (_notegoes.testseikaku3[notec]+pefemin<musictim && musictim < _notegoes.testseikaku3[notec] + pefemax) 3 { 4 if (Input.GetKeyDown(KeyCode.J)) //Jキーを押す 5 { 6 switch (_notegoes.testypes3[notec]) //ノーツタイプを確認 7 { 8 //通常タップ/特殊タップでは破棄 9 case 1: 10 case 2:Destroy(_notegoes.gonotesC[notec]); 11 break; 12 //長押し始点2種の時は始点を画面外へ移動 13 case 3: 14 case 5:_notegoes.gonotesC[notec].transform.position = new Vector2(0, -6); 15           //座標を画面外にするはずが移動せず流れていく(消えたように見せかけたい) 16 break; 17 } 18 ScoreGet(2); //スコア処理 19 okefect.Play(); //ここでパーティクルが再生されるはずがされていない 20 notec += 1; 21 } 22 } 23     //長押し~終点側の処理 24 if (_notegoes.testypes3[notec] == 6) 25 { 26 //長押しの時間 27 checktime = _notegoes.testseikaku3[notec] - _notegoes.testseikaku3[notec - 1]; 28 29 if (_notegoes.testseikaku3[notec] >= musictim) //長押し区間中 30 { 31 if (Input.GetKey(KeyCode.J)) //キーを押している間holdcountを増加 32 { 33 holdcount += Time.deltaTime; 34 RingOn();//演出をオンにする 35 misstime = 0; 36 okefect.Play(); //パーティクル再生をここで常時行いたい 37 } 38 else //押していない間・離している間misstimeを増加 39 { 40 //(関係ないため割愛、holdcountを0にしmisscountを増加させる) 41 } 42 43 if (misstime > checktime / 2) //区間の半分以上押さないままだとミス 44 { 45 DeleteObj(2); 46 } 47 } 48 else if (_notegoes.testseikaku3[notec] < musictim)//終点到達 49 { 50 holdsum += holdcount; //ここまでの長押し時間を累積時間に足す 51         //本来の長押し時間と累計の長押し時間を比較、判定、エフェクトを発生 52         //この部分でのみパーティクルが再生されている 53 Hantei(holdsum, checktime); 54         //始点と終点を破棄 55 DeleteObj(2); 56 } 57 }

####目指すこと
・通常タップでもパーティクルの演出が出るようにする
・長押し中はパーティクルが繰り返し再生されるようにする
(・ロング始点が判定された後画面外へワープする)

開発環境 Unity2019.1.5f1 Visual Studio

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

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

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

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

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

sakura_hana

2021/03/05 00:12

とりあえずDebug.Logを入れて目的のif文内に入っているか(各値が想定通りか)確認してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問