ページ 11

あるゲームのジャンプと降下について

Posted: 2010年3月25日(木) 13:17
by nnn
初めまして、このサイトを見ながら勉強させてもらってます。

さっそく本題ですが、I wanna be the guy というゲームの、ジャンプと降下の式が分かりません。

難しかった面、楽しかった面を再現したり、改造したりして友達と遊ぶ用に作っているのですが、ジャンプ,二段ジャンプと降下がいまいちどのような式で書けばいいのかわかりません。
物理的に考えようと思いましたが、明らかに降下時は等速で落ちているので・・・
WindowsXP,Visual C++ 2008,DXライブラリを使用しています。

ご教授お願いしますm(_ _)m

一応公式HP書いておきます
ttp://kayin.pyoko.org/iwbtg/
ここのDOWNLOADSにあります。

Re:あるゲームのジャンプと降下について

Posted: 2010年3月25日(木) 13:41
by Dixq (管理人)
y方向の速度を変数に入れておいて
例えばジャンプした瞬間10を代入し、空中にいる間は0.5を減算しつづけ。-10より少なくはならないように、みたいにしてはどうでしょう?
(マジックナンバーは適当)

Re:あるゲームのジャンプと降下について

Posted: 2010年3月25日(木) 23:48
by nnn
返事遅れました。
とりあえず色々数値を変えながら試してみます。
完成したり、問題が出たらまた詳しく書き込もうと思います。

Re:あるゲームのジャンプと降下について

Posted: 2010年3月26日(金) 00:17
by Dixq (管理人)
携帯から投稿したので、結構いい加減な回答になってしましました。すみません。

今座標(x,y)にキャラがいるとしましょう。
で、y方向の速度はVyとします。
この時、マイフレームごとに

y += Vy;

します。するとマイフレームVyほどy方向に移動します。
では、今、ジャンプした瞬間例えば

Vy = 10;

を代入したとしましょう。するとyは10加算されるので、少し上に移動しますね。
Vyは常に負の力を受けるようにしたいので、
マイフレーム例えば

Vy -= 0.5;

すると、段々速度が遅くなっていきます。
負になった瞬間から落ちるモーションに変化するでしょう。
ある程度以上負の速度を出したくないならば例えば

if( Vy > -10 ){
Vy -= 0.5;
}

とやってあげれば-10よりも小さくはなりません。
一番速いスピードでも10pix/flameの速さでしか落ちません。
このパラメータは良い値に調整してやればいいと思います。