向いている方向に玉を発射する方法
投稿者 : 名無し(YahooBB220063240054.bbtec.net)
- 2004/05/26(Wed) 12:39
No.6312
|
|
|
|
|
今、シューティングゲームのようなものを作っています。自機の向いている方向(上下左右)に玉を飛ばしたいと思っています。自分ではどうしても出来ないので、誰か教えてください。
|
Re: 向いている方向に玉を発射する方法
投稿者 : でぶちん(ntkyto002007.kyto.nt.isdn.ppp.infoweb.ne.jp)
- 2004/05/26(Wed) 18:20
No.6318
|
|
|
|
自機のwhile(1)の文の空いてる所に
if(getkey(32)){ tama=appear(new 弾クラスの名(x,y,弾のp,弾のf)); if(上だったら)tama.y-=増分; if(下だったら)tama.y+=増分; if(左だったら)tama.x-=増分; if(右だったら)tama.x+=増分; }
みたいな感じで書けばいいと思います。 シューティングのヘルプをよく見れば大抵分かるもんですが・・・
|
Re: 向いている方向に玉を発射する方法
投稿者 : 名無し(YahooBB220063240054.bbtec.net)
- 2004/05/26(Wed) 20:00
No.6319
|
|
|
|
ありがとうございます。 ですが、「上だったら」「下だったら」・・・ のところは何を入れればよいのでしょうか? すいませんが教えてください。
|
Re: 向いている方向に玉を発射する方法
投稿者 : hkr(gta.kinet-tv.ne.jp)
- 2004/05/26(Wed) 20:06
No.6320
|
|
|
|
自機の方向の変え方にもよります。画像を変えるのか角度を変えるのか。 まあSTGですから角度だろうと思うので 上だったら=angle==0 下だったら=angle==180 左だったら=angle==270 右だったら=angle==90 ですね。まちがってる(文法が)かも知れないのでもしそうなら訂正よろしくです。(ぉぃ 画像なら p==画像 でいけます。
|
Re: 向いている方向に玉を発射する方法
投稿者 : hkr(gta.kinet-tv.ne.jp)
- 2004/05/26(Wed) 20:08
No.6321
|
|
|
|
追伸:名無しじゃなくてちゃんとした名前をつけましょう。
|
Re: 向いている方向に玉を発射する方法
投稿者 : 金太郎(YahooBB220063240054.bbtec.net)
- 2004/05/26(Wed) 20:34
No.6323
|
|
|
|
名前は「金太郎」に改名しました。 おっしゃるとおりにやってみましたが、やはりうまくいきません。 玉がおかしいのかもしれないので見てみてください。
extends SpriteChar; while(1) { x+=vx;y+=vy; update(); }
|
Re: 向いている方向に玉を発射する方法
投稿者 : 名無しの権兵衛(YahooBB220063240054.bbtec.net)
- 2004/05/26(Wed) 20:53
No.6324
|
|
|
|
内容を理解する
投稿者 : nuntora(acc11-ppp345.per.dialup.connect.net.au)
- 2004/05/27(Thu) 00:13
No.6332
|
|
|
|
if(上だったら)tama.y-=増分; if(下だったら)tama.y+=増分; if(左だったら)tama.x-=増分; if(右だったら)tama.x+=増分; 弾の移動を自機で行うのであれば弾のクラスにはupdateを行わせるだけで十分のはずです。 extends SpriteChar; while(1) { update(); } また、名前が大量に重複するようなことを避けるため「名無し」や「名有り」「名無しの権兵衛」などは推奨されません。ご一考ください。
|
Re: 向いている方向に玉を発射する方法
投稿者 : 茶々丸(YahooBB220063240054.bbtec.net)
- 2004/05/27(Thu) 17:52
No.6337
|
|
|
|
名前は茶々丸に変えます。 向いている方向に玉を発射する方法の方ですが、 やはりうまくいきません。↓のようになっていますが、何がおかしいか教えてください。お願いします。
if(angle==0)tama.y-=1; if(angle==180)tama.y+=1; if(angle==270)tama.x-=1; if(angle==90)tama.x+=1;
|
Re: 向いている方向に玉を発射する方法
投稿者 : ごま太郎(o131193.ap.plala.or.jp)
- 2004/05/27(Thu) 21:46
No.6342
|
|
|
|
プログラムが添付されていないので確実ではありませんが…。 一フレームしか動いてないのではないでしょうか? ただ自機に記事6337のプログラムを書いただけでは弾は勝手に飛んでいってくれません。自機側で制御するならば、ループさせる必要があると思われます。
弾を発射すると言うのがごくごく普通のシューティング的ショットならば素直に弾側で発射後は制御させたほうが楽かと。 //****jiki.tonyu**** if(getkey(32)){ tama=appear(new 弾クラスの名(x,y,弾のp,弾のf)); tama.angle=発射したい角度; }
//****tama.tonyu**** while(1){ ax=cos(angle-90)*3; ay=sin(angle-90)*3; x+=ax; y+=ay; update(); } など。これで…動くのかな?^^; ローテクな方法では私のパワーアップのサンプルで角度を変えるのをやっていたような気もします(あんまり覚えてない^^;) テストしてませんのであしからず。
http://www12.plala.or.jp/goma_goma_deth/game/tonyu/dl.html (パワーアップのサンプル) http://www12.ocn.ne.jp/~miu/miutaka/tonyuhelp/help_o_1.html (オブジェクトの角度にあわせて進むプログラム)
|
Re: 向いている方向に玉を発射する方法
投稿者 : 茶々丸(YahooBB220063240054.bbtec.net)
- 2004/05/28(Fri) 16:46
No.6346
|
|
|
|
すいません。 やっぱり出来ません。 これ以上皆さんに迷惑はかけられないので あきらめます。 今までどうもありがとうございました。
|
|