二桁目の変数の値を参照する方法
タイトルからちょっと用途が読み取りづらいかもしれませんが
ゲージを数値化する、というのが一つありまして
一桁だけってのは結構簡単なんですよね
0から連番のanim番号から変数分を足すだけなんでね
(厳密にいえば10を超えた時に9で固定するようにする制限は必要)
ただ二桁目っていうのがそのまま二桁のアニメを対応するとなると
99個登録する必要がある、三桁超えるとそれはちょっと現実的では無い。
前置きはいいからさっさと教えろって話ですよね、はい
一桁目:anim = 500+var(19)-(ceil(var(19)/10)*10)
二桁目:anim = 500+ceil(var(19)/10)-(ceil(var(19)/100)*10)
三桁目:500+ceil(var(19)/100)-(ceil(var(19)/1000)*10)
…残りは必要に応じて0を増やしていくだけです
表示位置posはいいようにズラしていって下さい
さてceilというのは小数点切り捨て(floorが切り上げ)
これで10で割る事で例えば99なら切り捨て9になるわけです
しかしながらそれ以上の桁を想定した場合は
上の桁を消してしまいたいため例えば999だとしたら
10で割った99、100で一度割り9にした後に10乗算し90にし99-90=9ってわけです
まあ小難しい事考えずともコピーしたら使えます
さて、これの応用手段として
一桁目、二桁目、もちろんそれ以降の桁を参照する事で
別の処理の変数を一つで使いまわす事も可能です(リセット等管理力は問われますが)
例えばメルブラのビートエッジ等のコンボ中一回しか使えないチェーン処理や
最近のSNKゲーにあるEX技の追撃制限(同技補正)とか
手軽なのだと空中ダッシュと二段ジャンプぐらいは簡単に使いまわせますね
まあ別に変数59個もあって最悪ヘルパー内変数使えばいいし有り余ってるなら
無理してややこしい管理をする必要は無いんじゃないかとは思いますけども
同一の処理が多数あるなら一つにまとめた方がスマートかもしれませんね
最終更新:2025年06月28日 23:15