忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

以前作った弾幕のサンプルを参考にして敵弾を撃たせてみたのですが・・・
s-WS000146.jpg
敵弾を撃たす事は何とか出来たのですが、任意の間隔でn発撃たすって処理が上手く
出来ないんですよね・・・

こんな感じで、敵弾発生処理を書いているのですが↓
double ds=2.;//弾の速さ
for(i=0;i<ENEMY_TAMA_MAX;i++){//敵弾初期化
if(enemy[i].etf>0) continue;
eh++;
enemy[i].etf=1;
enemy[i].etx=bossx+175;
enemy[i].ety=bossy+120;
r+=0.1;
enemy[i].etmx=cos(r)*ds;
enemy[i].etmy=sin(r)*ds;
if(eh>62){
eh=0;
break;
}
}
毎ループでこの処理を行ってしまうので、ずっと撃ち続けてしまうんですよ。
一定の間隔で撃たせるカウンタみたいなのを導入すれば良いかと思って色々と試して
るのですが、なかなか上手く出来ません^^;

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
私が前にゲームを作ったときに、敵の動きがゆっくりになる「スロー」というアイテムを入れたのですが、そのときは1フレームごとに1ずつ増えるカウンタを作っておいて、そのカウンタが偶数なら敵の移動の処理を実行、奇数なら敵の移動の処理をスキップ、という感じでスローの効果を出しました。
kt.さんの書かれているとおりカウンタを導入して、何カウンタかに1回弾の発射処理を行えば良さそうな気がします。
剰余算を利用して、if(counter % 3 == 0)とかすれば、任意の回数に1回処理を回せそうです。(例は3回に1回)
keigo URL 2008/11/15(Sat)23:35:22 編集
無題
keigoさん>
カウンタ導入して色々と試してるんですが、何故か上手く動かないんですよね・・・
多分、プログラムの書き方がおかしいのではないかと思うのですが、良くわからないんですよ^^;
kt. 2008/11/16(Sun)12:30:03 編集
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]