ページ 1 / 1
ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 17:59
by ptolemy
初めまして。
初心者なんですが、横スクロールのゲームを作ろうと思っています。
しかし、ジャンププログラムを以下のサイトを参考に書いてみたところ表示されているウィンドウから飛び出してしまいました。
http://dixq.net/g/30.html
下の制御は、
コード:
if(y<0){
y=0;
flag=0;
}
と書き、制御できたのですが、上の制御ができません。
説明がとてもわかりにくいですが、どうか回答お願いします。
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 18:16
by softya(ソフト屋)
天井が有る形にするかしないかで考え方を分けないといけませんね。
あと加速度の式は分かりますか?
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 18:35
by ptolemy
お早い回答ありがとうございます。
まだ、中2なので加速度の式は、分からないです。
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 18:42
by softya(ソフト屋)
ptolemy さんが書きました:お早い回答ありがとうございます。
まだ、中2なので加速度の式は、分からないです。
リンク先の「27. ジャンプの考え方1(物理)」が加速度の式を使っています。
なので応用する以上は理解しないといけません、
まぁ、下への加速度とジャンプの初速で到達頂点が変わるので式が分からなければ適当に値を調整してみるって方法はあります。
下への加速度:要するに下に引っ張る力が加速度です。
初速:ジャンプする力です。
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 19:05
by ptolemy
リンクサイトの1と2の式は、何となく分かりましたが、
3のルートを使った式がさっぱりで意味不明なので適当に数値を変えてみます。
そこで再度申し訳ないのですが、質問があります。
リンクサイトのプログラムにしてみた式の
2.000、0.500、448.000
のどの値を変更すると高さが変わるのでしょうか。
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 20:05
by softya(ソフト屋)
ごめんなさい。こっちと勘違いしてました。
「DXライブラリ置き場 サンプルプログラム」
http://homepage2.nifty.com/natupaji/DxL ... am.html#N2
「27. ジャンプの考え方1(物理)」よりは構造が簡単なので、こっちをイジってみて下さい。
JumpPower = 20 ;が初速で、JumpPower -= 1 ;が加速です。
【追記】
「27. ジャンプの考え方1(物理)」は厳密に頂点の高さを調整できますが、アバウトさには欠けるので作るものによっては応用しづらいかと思います。
ちなみに、2.000、0.500、448.000は、左から仮想空間の高さ(単位m)、重量加速度方程式の定数、ジャンプする高さ(ピクセル)、あと9.8067が重力加速度です。
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 20:29
by ptolemy
リンクサイトありがとうございます。
では、プレイヤーの初期位置が219の座標の場合、
コード:
int x,y;
int JumpPower;
y-=JumpPower;
JumpPower-=1;
if(y<219){
y=219;
JumpPower=0;
}
if((KEY_INPUT_Z)&&y==219){
JumpPower=20;
}
でジャンプが可能になりますか?
(画像処理などを除いて)
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 20:32
by softya(ソフト屋)
試したほうが早い気もしますが、出来ると思います。
Re: ジャンプ範囲の書き方
Posted: 2013年11月07日(木) 20:52
by ptolemy
ありがとうございました!
早速試してみます!