厨房なおいらにプログラム教えるスレ
■ このスレッドは過去ログ倉庫に格納されています
00011
02/05/28 20:36ID:pts0IQX6厨房に分かる程度優しく教えてくれた方にはお礼をイイマス
0238名前は開発中のものです。
2011/02/18(金) 02:09:02ID:FPQVKYtr惜しい。というか、ソース上は考え方はあってる。
普通2次関数を思い浮かべるときはxy座標系が基本だが、重力はy方向にのみ
影響するパラメータで時間tに伴う変化なので、ty座標系になる。つまり
y=at^2+bt+c (^2は階乗)
になるわけだな。これをtで微分(つまり速度)すると
cy1=2at+b (cy1は>>237 の変数ね)
となる。
0239名前は開発中のものです。
2011/02/18(金) 02:10:04ID:FPQVKYtr右辺のcy1→b
右辺の1→2a
「tはどこ行った?」と思うかもしれないが、cy1は累積して加算しているので
while()をまわして+1していることがすなわちtを掛けていることになる。
つまり無意識のうちに2次関数を使っていることになるのだ(考え方が一足飛びだけどね)。
「言葉で言うと小難しいが、ソースに落とすと結構あっさり」というのは
わりとある。(逆も然りw)
x方向にも変な加速度をつけたり、弾の座標によって+1の値を変えたりすると、
異常重力っぽくなってゲームとしてのバリエーションが増えて面白いのだが、
それはまた先の話。
この調子でどんどん行くでござる。ニンニン
0240名前は開発中のものです。
2011/02/18(金) 07:17:22ID:FPQVKYtr誤) 重力はy方向にのみ影響するパラメータで時間tに伴う変化なので、
正) 重力はy方向にのみ影響するパラメータでy方向は時間tに伴う変化なので、
誤) y=at^2+bt+c (^2は階乗)
正) y=at^2+bt+c (^2はべき乗)
■ このスレッドは過去ログ倉庫に格納されています