ジャンプ範囲の書き方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
ptolemy
記事: 258
登録日時: 12年前

ジャンプ範囲の書き方

#1

投稿記事 by ptolemy » 12年前

初めまして。

初心者なんですが、横スクロールのゲームを作ろうと思っています。

しかし、ジャンププログラムを以下のサイトを参考に書いてみたところ表示されているウィンドウから飛び出してしまいました。

http://dixq.net/g/30.html

下の制御は、

コード:

if(y<0){
y=0;
flag=0;
} 


と書き、制御できたのですが、上の制御ができません。

説明がとてもわかりにくいですが、どうか回答お願いします。  

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ジャンプ範囲の書き方

#2

投稿記事 by softya(ソフト屋) » 12年前

天井が有る形にするかしないかで考え方を分けないといけませんね。
あと加速度の式は分かりますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 12年前

Re: ジャンプ範囲の書き方

#3

投稿記事 by ptolemy » 12年前

お早い回答ありがとうございます。

まだ、中2なので加速度の式は、分からないです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ジャンプ範囲の書き方

#4

投稿記事 by softya(ソフト屋) » 12年前

ptolemy さんが書きました:お早い回答ありがとうございます。

まだ、中2なので加速度の式は、分からないです。
リンク先の「27. ジャンプの考え方1(物理)」が加速度の式を使っています。
なので応用する以上は理解しないといけません、

まぁ、下への加速度とジャンプの初速で到達頂点が変わるので式が分からなければ適当に値を調整してみるって方法はあります。
下への加速度:要するに下に引っ張る力が加速度です。
初速:ジャンプする力です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 12年前

Re: ジャンプ範囲の書き方

#5

投稿記事 by ptolemy » 12年前

リンクサイトの1と2の式は、何となく分かりましたが、
3のルートを使った式がさっぱりで意味不明なので適当に数値を変えてみます。

そこで再度申し訳ないのですが、質問があります。
 
リンクサイトのプログラムにしてみた式の
2.000、0.500、448.000
のどの値を変更すると高さが変わるのでしょうか。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ジャンプ範囲の書き方

#6

投稿記事 by softya(ソフト屋) » 12年前

ごめんなさい。こっちと勘違いしてました。
「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が重力加速度です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 12年前

Re: ジャンプ範囲の書き方

#7

投稿記事 by ptolemy » 12年前

リンクサイトありがとうございます。

では、プレイヤーの初期位置が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; 
}
でジャンプが可能になりますか?
(画像処理などを除いて)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ジャンプ範囲の書き方

#8

投稿記事 by softya(ソフト屋) » 12年前

試したほうが早い気もしますが、出来ると思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 12年前

Re: ジャンプ範囲の書き方

#9

投稿記事 by ptolemy » 12年前

ありがとうございました!

早速試してみます!

閉鎖

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