1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
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)に初速度を与え、'浮いている'状態にするだけ。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/310
312: 名前は開発中のものです。 [sage] 2011/09/12(月) 22:53:19.97 ID:Im+6OdM9 ラインを割ったときには、その時点での(x,y,z)を控えておき、3秒間のカウンタを開始する。 その3秒間も、ボールのループごとの処理は継続する。 3秒たったら、控えておいた位置を復元するとともに、速度はゼロ、フラグは'接地'にセット スローインしたときは、初速度は違うかもしれないが蹴ったときと同様。 (x,y,z)の控えや3秒カウンタは、ボールとは別のメインのクラスなどで管理するといいと思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/312
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s