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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0715
rin音ゲー バー設定について2解決


rin

リンク

2014/7/15(Tue) 16:36:55|NO.62907

音ゲーのバー設定のことなんですが、miss判定範囲を縮めたい場合はどのように変更すればいいのでしょうか?
詳しく教えてくれるとありがたいです><。
	hitf=1	//ヒット表示フラグ
hit_line_posx=gaku*BAR_SIZEX hit_line_posy=movms*bar_tim //ヒットした時の座標を保存 if abs(PERFECT_LINE-hit_line_posy) <= PERFECT_RANGE {//差がPERFECT_RANGE以下ならperfect ms="perfect" :use=1 }else{//PERFECT_RANGE*2以下ならgoodでそれより大きければmiss if abs(PERFECT_LINE-hit_line_posy) <= (PERFECT_RANGE*2) {ms="good" :use=2}else{ms="miss" :use=3} } } use_bak=use



この記事に返信する


kanahiron

リンク

2014/7/15(Tue) 18:01:57|NO.62912

HSPの文法は一行に波括弧使うのはいいんでしたっけ…
インデントがめちゃくちゃなので書き換えましたがこれ最初のifが抜けていませんか?

hitf=1 //ヒット表示フラグ ;なぜここインデント増えてるんでしょうか hit_line_posx=gaku*BAR_SIZEX hit_line_posy=movms*bar_tim //ヒットした時の座標を保存 if abs(PERFECT_LINE-hit_line_posy) <= PERFECT_RANGE {//差がPERFECT_RANGE以下ならperfect ms="perfect" use=1 } else { //PERFECT_RANGE*2以下ならgoodでそれより大きければmiss if abs(PERFECT_LINE-hit_line_posy) <= (PERFECT_RANGE*2) ms="good" use=2 } else { ms="miss" use=3 } } };←なにこれ use_bak=use
この場合、PERFECT、good、missの判定の基準は全部同じ定数が使われていて何かを変えると
他のも引っ張られて狭くなります
なので、

if abs(PERFECT_LINE-hit_line_posy) <= (PERFECT_RANGE*2)
の部分のPERFECT_RANGEをPERFECT_RANGEより小さい別の定数に書き換えましょう
スクリプトの最初の方に#defineでPERFECT_RANGEが決まっていると思います
そこの下に#define GOOD_RANGEとか適当に書いて書き換えればいいのです
(大文字なので定数と判断しましたがただの変数かも知れないです 適当に読み替えて下さい)



rin

リンク

2014/7/17(Thu) 20:48:57|NO.62936

ありがとうございます(  ̄▽ ̄)



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