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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
nnn

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

#1

投稿記事 by nnn » 15年前

初めまして、このサイトを見ながら勉強させてもらってます。

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

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

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

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

Dixq (管理人)

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

#2

投稿記事 by Dixq (管理人) » 15年前

y方向の速度を変数に入れておいて
例えばジャンプした瞬間10を代入し、空中にいる間は0.5を減算しつづけ。-10より少なくはならないように、みたいにしてはどうでしょう?
(マジックナンバーは適当)

nnn

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

#3

投稿記事 by nnn » 15年前

返事遅れました。
とりあえず色々数値を変えながら試してみます。
完成したり、問題が出たらまた詳しく書き込もうと思います。

Dixq (管理人)

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

#4

投稿記事 by Dixq (管理人) » 15年前

携帯から投稿したので、結構いい加減な回答になってしましました。すみません。

今座標(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の速さでしか落ちません。
このパラメータは良い値に調整してやればいいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る