トップページgamedev
295コメント113KB

厨房なおいらにプログラム教えるスレ

■ このスレッドは過去ログ倉庫に格納されています
000102/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
これを >>237のソース cy1=cy1+1 に当てはめると
右辺の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はべき乗)
■ このスレッドは過去ログ倉庫に格納されています