ページ 11

敵キャラの動きについて

Posted: 2009年7月26日(日) 18:03
by 華穂
初めまして。

今回初めての質問です。
実は、今課題としてシューティングゲームを作っているのですが、
所々分からないところがありましてそのうちの1つを教えてもらいたくて
こちらに書き込みさせてもらいました。

ええと、分からないというのが、雑魚敵の動きをどう表現すればいいのか
というもので、パターンは2つあります。(1ステージ目の雑魚敵は8体います。)


1つが、自機に向かって特攻してくる雑魚敵(3体)
2つ目が、左端に向かって上下運動をする雑魚敵(5体。左端つまり画面から消えたら消滅する)



というものです。
1つめの方は、なんとかなるのですが、2つめの上下運動・・つまり、波の動きをする雑魚敵のほうが、どう書けばいいのか分からず、ぜひこちらで教えてほしいと書き込みしました。
なにぶん数学的なところも弱く、今地道に勉強はしているのですが分からないためぜひアドバイス、または教えてほしいです。

えと、ちなみに今利用しているのは、DxLib・C++で2Dのシューティングです。
シューティングでは、画像は全て横を向いています。(こちらにある縦向きのシューティングとは違いますね)



なにとぞよろしくお願いいたします。

Re:敵キャラの動きについて

Posted: 2009年7月26日(日) 18:42
by situmon
sin波とかのことですか?
でしたら
http://dixq.net/s/15.html
とか
http://dixq.net/s/16.html
を見たらわかると思います。

Re:敵キャラの動きについて

Posted: 2009年7月26日(日) 18:43
by nayo
グラディウスのような感じですかね。

敵のx座標をe.x、y座標をe.y、これと毎フレーム加算されていくようなカウンタをe.cntとすると、

e.x -= 横方向速度;
e.y = y方向中心位置 + 振幅 * sin( π/周期 * e.cnt );

というような感じでどうでしょうか。
そちらのプログラムがどういう感じで敵を管理しているか分からないので微妙ですが一応参考にどうぞ。

#追記
/周期とするためには2πじゃないとだめでしたね

Re:敵キャラの動きについて

Posted: 2009年7月26日(日) 19:05
by 華穂
なるほど・・・。

プログラマー様、中級者様分かりやすいアドバイスありがとうございます!

そういった方法があるのですね、勉強になります。
参考に教えていただいた方を見て、もうちょっと勉強・試してみたいと思います。
まだまだ未熟者で、これから先ちょくちょく質問をすると思いますが、またどうぞよろしくおねがいします。




では、がんばります!