音ゲーでホールド機能を追加する

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Thunder

音ゲーでホールド機能を追加する

#1

投稿記事 by Thunder » 8年前

はじめまして、現在音ゲーを製作しようと思っています。
「サンプルプログラミングの館」の「太鼓の鉄人」のサンプルは大体理解できましたが、
ホールド機能をどのように作ればよいのかわからないので、ご回答よろしくお願いします。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 音ゲーでホールド機能を追加する

#2

投稿記事 by みけCAT » 8年前

まず「ホールド機能」の仕様を具体的に定義しましょう。
オフトピック
ググった結果、長押しするノーツのことかな?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Thunder

Re: 音ゲーでホールド機能を追加する

#3

投稿記事 by Thunder » 8年前

長押しするノーツです。

具体的には
最初にノーツが来た時にボタンを押し始める。
ノーツがある間はボタンを押し続ける。
ノーツが終わるところでボタンから手を離す。
といった感じです。

hide

Re: 音ゲーでホールド機能を追加する

#4

投稿記事 by hide » 8年前

その質問の仕方だと、譜面の仕様なのか判定の仕方なのかわかりませんね。

判定の方はノーツの始まりを普通のものと同じように判定して
ノーツが続いている間押していることを確認
ノーツの終わりのあとに離されていることを確認
で、あとは作る側のさじ加減でしょうね。

ゲームによって連打でも問題なかったり一瞬でも離したらアウトだったり
代替となるボタンに押し替えられたりするのでその辺の考慮も必要です。
話的にはbeatmaniaのチャージノーツが近いのかな?

譜面の仕様であればこの辺とか参考にしたらいいかもです。
http://na24ddr.web.fc2.com/other/memo/text.html
太鼓の鉄人は譜面の自由度があまりなかった気がしますが…

platypus
記事: 2
登録日時: 8年前

Re: 音ゲーでホールド機能を追加する

#5

投稿記事 by platypus » 8年前

譜面の仕様について答えさせていただきます。
まず、前提としてhideさんの貼ったURLに書いてあるBMS形式で曲のデータを記述すると仮定します。
(BMS形式は一生節ごとに可変長の音符を配置できる形式で、データを作るエディタもネット上で多く流通しています。実装も割と素直に組めます。)
BMS形式では、長押しのはじめと終わりの部分だけに印をつける方法が主流です。
#02510:00020000
#02610:00000003
この時"02"と"03"をそれぞれ長押しのはじめと終わりとして定義すると、「25小節目の2拍目から26小節目の4拍目まで長押しをするホールド」という意味になります。コンピューター内で長押しを扱う場合は読み込むときに「長押しを始めるフレーム数」と「ホールドするフレーム数(長さ)」に変換すればいいと思います。

Thunder

Re: 音ゲーでホールド機能を追加する

#6

投稿記事 by Thunder » 8年前

ホールド機能を追加することができました。
回答してくださった皆様ありがとうございました。
今後また質問をする機会があればよろしくおねがいします。

閉鎖

“C言語何でも質問掲示板” へ戻る