HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0116
SNK何故かテンポが合わない1未解決


SNK

リンク

2020/1/16(Thu) 15:43:45|NO.89258

hspで音ゲーっぽいものを作っていたところなぜか音がずれていきます。
どうしたら治りますか?
ちなみにBGMに合わせて4拍目にスペースボタンを押したらタイミングとのズレを表示するというだけのものです


*syokika gosub *filein stt=100 bpm=128 zure=0 zuremi=0 mmplay 1 await await 0 goto *main *filein tic = "tic.wav" mmload tic, 0 bgm = "cut.wav" mmload bgm, 1 return *main await 1 cou = cou+1. if(butmati!=0){ butmati = butmati-1 } gosub *tempo gosub *tim gosub *but goto *main *tempo ;テンポカウント if(cou = 60000/bpm/2){;tic haku=haku+1 mes"tic" cou=0 } return *tim if(haku=3){ zuremi=zuremi+1 zure=(250-zuremi)*-1 }else:if(haku=4){ zuremi=0 haku=0 }else:if(haku=0){ zuremi=zuremi-1 zure=zuremi*-1 }else{ zuremi=0 zure="Miss!" } return *but getkey keyin,32 if(butmati=0){ if(keyin=1){ cls mes zure butmati=100 mmplay 0 } } return



この記事に返信する


Velgail

リンク

2020/1/17(Fri) 22:34:27|NO.89265

一般論的でコード実行による再現等ではありませんが。

*main
await 1
cou = cou+1.

このスタイルで時間を計測することはおすすめしません。

d3timer等の経過時間関数などを利用して、

start=d3timer()

判定する瞬間に

now=d3timer()
cou=now-start

など行うことでより高い精度で経過時間を取得できます。



ONION software Copyright 1997-2023(c) All rights reserved.