トップページ > ゲ製作技術 > 2011年09月12日 > Im+6OdM9

書き込み順位&時間帯一覧

20 位/138 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000202



使用した名前一覧書き込んだスレッド一覧
名前は開発中のものです。
1人でゲームが作れるように修行します。2

書き込みレス一覧

1人でゲームが作れるように修行します。2
310 :名前は開発中のものです。[sage]:2011/09/12(月) 22:39:19.48 ID:Im+6OdM9
失礼ながら、無駄に複雑にしすぎてるような気がするね。
基本的にボールの状態変数は、(x,y,z)、(vx,vy,vz)だけあればいい。
それと便宜的に(接地 or浮いている)フラグをつけてもいい。

初期値はそれぞれ、ボールの初期位置、速度は0、フラグは'接地'状態。

ボールのループごとの処理はこんな感じ。

  if(浮いている){
   垂直方向の重力加速度を速度に加算
   速度を位置に加算
   if(速度が下向きで垂直座標が地面より下){
     位置を地表に補正
     垂直方向の速度に -0.9とか反発係数を配慮した値を掛ける
     垂直速度が小さくなったら、'接地'状態とする
   }
  }else{
   水平方向の速度に0.99など転がり摩擦係数を意識した値を掛ける
  }
  水平方向の速度を水平位置に加算

蹴った瞬間、(vx,vy,vz)に初速度を与え、'浮いている'状態にするだけ。

1人でゲームが作れるように修行します。2
312 :名前は開発中のものです。[sage]:2011/09/12(月) 22:53:19.97 ID:Im+6OdM9
ラインを割ったときには、その時点での(x,y,z)を控えておき、3秒間のカウンタを開始する。
その3秒間も、ボールのループごとの処理は継続する。

3秒たったら、控えておいた位置を復元するとともに、速度はゼロ、フラグは'接地'にセット
スローインしたときは、初速度は違うかもしれないが蹴ったときと同様。

(x,y,z)の控えや3秒カウンタは、ボールとは別のメインのクラスなどで管理するといいと思う。




※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。