はじめまして、現在音ゲーを製作しようと思っています。
「サンプルプログラミングの館」の「太鼓の鉄人」のサンプルは大体理解できましたが、
ホールド機能をどのように作ればよいのかわからないので、ご回答よろしくお願いします。
音ゲーでホールド機能を追加する
Re: 音ゲーでホールド機能を追加する
まず「ホールド機能」の仕様を具体的に定義しましょう。
オフトピック
ググった結果、長押しするノーツのことかな?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 音ゲーでホールド機能を追加する
長押しするノーツです。
具体的には
最初にノーツが来た時にボタンを押し始める。
ノーツがある間はボタンを押し続ける。
ノーツが終わるところでボタンから手を離す。
といった感じです。
具体的には
最初にノーツが来た時にボタンを押し始める。
ノーツがある間はボタンを押し続ける。
ノーツが終わるところでボタンから手を離す。
といった感じです。
Re: 音ゲーでホールド機能を追加する
その質問の仕方だと、譜面の仕様なのか判定の仕方なのかわかりませんね。
判定の方はノーツの始まりを普通のものと同じように判定して
ノーツが続いている間押していることを確認
ノーツの終わりのあとに離されていることを確認
で、あとは作る側のさじ加減でしょうね。
ゲームによって連打でも問題なかったり一瞬でも離したらアウトだったり
代替となるボタンに押し替えられたりするのでその辺の考慮も必要です。
話的にはbeatmaniaのチャージノーツが近いのかな?
譜面の仕様であればこの辺とか参考にしたらいいかもです。
http://na24ddr.web.fc2.com/other/memo/text.html
太鼓の鉄人は譜面の自由度があまりなかった気がしますが…
判定の方はノーツの始まりを普通のものと同じように判定して
ノーツが続いている間押していることを確認
ノーツの終わりのあとに離されていることを確認
で、あとは作る側のさじ加減でしょうね。
ゲームによって連打でも問題なかったり一瞬でも離したらアウトだったり
代替となるボタンに押し替えられたりするのでその辺の考慮も必要です。
話的にはbeatmaniaのチャージノーツが近いのかな?
譜面の仕様であればこの辺とか参考にしたらいいかもです。
http://na24ddr.web.fc2.com/other/memo/text.html
太鼓の鉄人は譜面の自由度があまりなかった気がしますが…
Re: 音ゲーでホールド機能を追加する
譜面の仕様について答えさせていただきます。
まず、前提としてhideさんの貼ったURLに書いてあるBMS形式で曲のデータを記述すると仮定します。
(BMS形式は一生節ごとに可変長の音符を配置できる形式で、データを作るエディタもネット上で多く流通しています。実装も割と素直に組めます。)
BMS形式では、長押しのはじめと終わりの部分だけに印をつける方法が主流です。
#02510:00020000
#02610:00000003
この時"02"と"03"をそれぞれ長押しのはじめと終わりとして定義すると、「25小節目の2拍目から26小節目の4拍目まで長押しをするホールド」という意味になります。コンピューター内で長押しを扱う場合は読み込むときに「長押しを始めるフレーム数」と「ホールドするフレーム数(長さ)」に変換すればいいと思います。
まず、前提としてhideさんの貼ったURLに書いてあるBMS形式で曲のデータを記述すると仮定します。
(BMS形式は一生節ごとに可変長の音符を配置できる形式で、データを作るエディタもネット上で多く流通しています。実装も割と素直に組めます。)
BMS形式では、長押しのはじめと終わりの部分だけに印をつける方法が主流です。
#02510:00020000
#02610:00000003
この時"02"と"03"をそれぞれ長押しのはじめと終わりとして定義すると、「25小節目の2拍目から26小節目の4拍目まで長押しをするホールド」という意味になります。コンピューター内で長押しを扱う場合は読み込むときに「長押しを始めるフレーム数」と「ホールドするフレーム数(長さ)」に変換すればいいと思います。
Re: 音ゲーでホールド機能を追加する
ホールド機能を追加することができました。
回答してくださった皆様ありがとうございました。
今後また質問をする機会があればよろしくおねがいします。
回答してくださった皆様ありがとうございました。
今後また質問をする機会があればよろしくおねがいします。