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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0428
hps初心者str2fの使い方と小数点をつかうには2解決


hps初心者

リンク

2014/4/28(Mon) 19:03:52|NO.61722

下にあるY軸(ZB)で上下に動くという計算で

str2fで文字を数字になおして、fvdivで割り、ZBに代入というながれですが
できません

また全部のコードが必要ならだします




dim TEKIPM,10: dim TEKISP,10 if TEKIKAZU=0 : gosub *TEKISYUTUGEN if TEKIKAZU>0{ repeat 10 gosub *TEKIMOVE loop } *TEKISYUTUGEN X=rnd(6):Y=rnd(4) repeat 10 regobj TEKIOBJ.cnt,TEKIMODEL,0 selpos TEKIOBJ.cnt objset3 X-2,-Y,-50 TEKILIVE.cnt=cnt*10+10 TEKIPM.cnt=0 TEKISP.cnt=0 setcoli TEKIOBJ.cnt,2,1 loop TEKIKAZU=10 return *TEKIMOVE if (TEKILIVE.cnt>1) :TEKILIVE.cnt = TEKILIVE.cnt-1 if TEKILIVE.cnt=1{ if TEKIPM.cnt = 0 : TEKISP.cnt = TEKISP.cnt-1 : else :TEKISP.cnt = TEKISP.cnt+1 if TEKISP.cnt > 60 :TEKIPM.cnt = 0 if TEKISP.cnt < -60 :TEKIPM.cnt = 1 str2f ZB, "" + TEKISP.cnt + ".0f" fvdiv ZB, 200.0f ;敵座標変化 selpos TEKIOBJ.cnt : objgetfv FV fvadd FV, 0,ZB,0.25f objsetfv FV



この記事に返信する


hps初心者

リンク

2014/4/28(Mon) 19:50:40|NO.61723

double様
できました。ありがとうございました。



double

リンク

2014/4/28(Mon) 19:57:30|NO.61724

TEKISP.cntが整数型の変数なので、double命令を使って実数型にしてしまったほうが楽ちんな気がします。
 str2f ZB, "" + TEKISP.cnt + ".0f"
 fvdiv ZB, 200.0f
は、
 ZB=double(TEKISP.cnt)/200.0f
でいけちゃうと思います。

fv〜命令は三次元どうしの計算になるので、たいていは、
 ddim fv1,3
と、x,y,z三次元の値が入る配列変数を用意して(fv(0)がX。fv(1)がY。fv(2)がZになると思いねえ)
 fvadd fv1,なんたらX、どうたらY、かんたらZ
といった使い方になるはずです。

まちがえてたらごめんちゃい



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