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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0921
mixwater撃った弾の速さ2解決


mixwater

リンク

2009/9/21(Mon) 17:01:27|NO.27854

二つほど質問をさせていただきます。

1・今、戦車ゲームを作っています


buffer 1 mes"●" screen 0 px=100 py=ginfo(13)/2 mouse -1 REPEAT redraw 0 color 255,255,255 boxf color pos px,py grotate 1,0,0,kakudo,40,40 getkey w,87 getkey s,83 getkey a,65 getkey d,68 getkey cli,1 if w=1:grotate 1,0,0,kakudo,40,40:py-- if s=1:grotate 1,0,0,kakudo,40,40:py++ if a=1:grotate 1,0,0,kakudo,40,40:px-- if d=1:grotate 1,0,0,kakudo,40,40:px++ if tam=0:{ if cli=1:{ tam=100 tya=0 tx=px,ty=py zzx=mousex zzy=mousey zx=(zzx-px) zy=(zzy-py) } } pos mousex,mousey circle mousex+20,mousey+20,mousex-20,mousey-20,0 mes"\nチャージ:"+tya+"%" if tam!0:{ if tam=100:tx=px:ty=py pos tx,ty-10 mes"●" tx+zx ty+zy tam-1 tya++ } redraw 1 wait 1 loop

マウスで照準を動かし、クリックでそこに向けて発射、という風にしたいのですが
弾の速度がよほど自分に近くない限り弾が速すぎてゲームになりません。
どうにか速さを変えられないでしょうか?
(grotate命令や、弾の発射位置がおかしいのは元々画像だったからです。)

2・bgscrのような枠なしウィンドウを、screen命令のツールウィンドウのように
タスクバーに表示させないようにすることはできるでしょうか?


わかる方いらっしゃいましたらお願いします。



この記事に返信する


いかろ

リンク

2009/9/21(Mon) 18:36:00|NO.27859

球の速さについては三角関数を使って

tx+zx ty+zy
というところを

tx+=cos( atan(zy,zx) )* speed ty+=sin( atan(zy,zx) )* speed
と直すといいと思います。
実際に組み込む際はspeedという変数もしくは定数を定義してください。



mixwater

リンク

2009/9/21(Mon) 20:09:41|NO.27868

いかろさんありがとうございます。
三角関数がわからない野郎ですが、頑張っていこうと思います



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