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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
1108
自機狙い弾のスクリプト3解決


リンク

2015/11/8(Sun) 21:35:34|NO.72874

HSPで自機狙いの弾のスクリプトを書きたかったのですが、どうも上手くいきません。
ほとんどの奴が少しずれるんです。あと直進方向に撃ってしまうんです。ちゃんと狙うやつは
たまにしかいません。なにがダメなのでしょうか。教えて下さい。

それと、下のスクリプトは自分が書いたものですが、改善したほうがいいとこが多いと
思いますので、その指摘もお願いします。見づらくてすみません。








screen 0,500,500 jiki_x = 250.0 jiki_y = 400.0 enemy_max = 500 dim enemy_f,enemy_max ddim enemy_x,enemy_max ddim enemy_y,enemy_max dim e_shot_f,enemy_max ddim e_shot_x,enemy_max ddim e_shot_y,enemy_max ddim e_shot_vx,enemy_max ddim e_shot_vy,enemy_max frame = 0 *main color 255,255,255 : boxf stick k,15 if k&1:jiki_x-2.0 if k&2:jiki_y-2.0 if k&4:jiki_x+2.0 if k&8:jiki_y+2.0 if jiki_x>492:jiki_x = 492.0 if jiki_x<8:jiki_x = 8.0 if jiki_y>492:jiki_y = 492.0 if jiki_y<8:jiki_y = 8.0 if frame\60=1{ gosub*enemy_search } repeat enemy_max if enemy_y(cnt) = 100.0{ gosub*e_shot_search } loop repeat enemy_max if enemy_f(cnt) = 1{ enemy_y(cnt) + 2.0 color 255,0,0 pos enemy_x(cnt)-8.0,enemy_y(cnt)-8.0 mes"▼" } if e_shot_f(cnt) = 1{ e_shot_x(cnt) = e_shot_x(cnt) + e_shot_vx(cnt) e_shot_y(cnt) = e_shot_y(cnt) + e_shot_vy(cnt) color 255,0,0 pos e_shot_x(cnt)-8.0,e_shot_y(cnt)-8.0 mes"弾" } loop color 0,0,255 pos jiki_x-8.0,jiki_y-8.0 mes"▲" redraw 1 redraw 0 await 5 frame++ goto*main *enemy_search repeat enemy_max if enemy_f(cnt) =0{ enemy_f(cnt) = 1 enemy_x(cnt) = rnd(500)+1 * 1.0 enemy_y(cnt) = -8.0 break } loop return *e_shot_search repeat enemy_max if e_shot_f(cnt) = 0{ e_shot_f(cnt) = 1 e_shot_x(cnt) = enemy_x(cnt) e_shot_y(cnt) = enemy_y(cnt) t = atan(jiki_y-e_shot_y(cnt),jiki_x-e_shot_x(cnt)) e_shot_vx(cnt) = cos(t) * 2.0 e_shot_vy(cnt) = sin(t) * 2.0 break } loop return



この記事に返信する


k

リンク

2015/11/8(Sun) 23:19:04|NO.72877

1.0だとdouble にならないみたいですね

enemy_x(cnt) = double(rnd(500)+1 * 1.0)

これに変更したら自機狙いになりますね



kanahiron

リンク

2015/11/8(Sun) 23:33:51|NO.72878

型変換は左にあるものが優先されるので
rnd(500)+1 * 1.0だと整数+実数で整数のままになっています
1.0+rnd(500)で同じ結果が得られると思います



リンク

2015/11/9(Mon) 18:21:29|NO.72887

できました。おふたりともありがとうございました。



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