3Dゲームでジャンプ処理を書きたいのですが
今、このプログラムでボタンを押しても反応がないので、
どう修正すればいいか教えてほしいです。
playerPos.yが自キャラのy座標です。
Xを押したときXファイルのメッシュを
ジャンプさせたいです。
DirectXでC++を用いた3Dゲームのジャンプ処理について
-
- 記事: 48
- 登録日時: 7年前
Re: DirectXでC++を用いた3Dゲームのジャンプ処理について
プチコンでデバッグしてたら全く動きませんでした。なのでヒントをいくつか紹介します。
(手軽に使えるし、いちいちc++でビルドするのも面倒なので)
まず、重力のGravityが0だと無重力になるので(ジャンプできるなら)
上に上がり続ける事でしょう。こちらではジャンプパワーを20.0、重力を0.5で良い感じになりました。
それから、正の数をジャンプのパワーとしてる以上、加算だと
下に下がってしまうと思いますが、これはプチコンと(DirectX)のY軸の座標系の違いでしょうね。
あと、ジャンプパワーを減算加算しているブロックのif文はジャンプフラグが立っていないと
正しく動きませんよ。地面より下にいったらジャンプフラグを下げてにしてかつ、プレイヤーキャラクターの
y座標を地面と同じ(くらい、というよりy座標の取り方で変わってくること)にしないと地面にめり込みますね。
(手軽に使えるし、いちいちc++でビルドするのも面倒なので)
まず、重力のGravityが0だと無重力になるので(ジャンプできるなら)
上に上がり続ける事でしょう。こちらではジャンプパワーを20.0、重力を0.5で良い感じになりました。
それから、正の数をジャンプのパワーとしてる以上、加算だと
下に下がってしまうと思いますが、これはプチコンと(DirectX)のY軸の座標系の違いでしょうね。
あと、ジャンプパワーを減算加算しているブロックのif文はジャンプフラグが立っていないと
正しく動きませんよ。地面より下にいったらジャンプフラグを下げてにしてかつ、プレイヤーキャラクターの
y座標を地面と同じ(くらい、というよりy座標の取り方で変わってくること)にしないと地面にめり込みますね。