- スレ立てるまでもない質問はここで 140匹目 [転載禁止]©2ch.net
378 :デフォルトの名無しさん[sage]:2015/04/07(火) 16:34:03.49 ID:oKJlcjHC - >>377
直線距離で10進むのに1秒かかる、ということでいいのか? 例えばだが、x=0,y=0 から x=10,y=10に到達するのには何秒かかる? ベクトルで考えると座標(0,0)から座標(10,10)までの距離は √(x^2+y^2) = 14.14・・・になるので時間では1.414秒かかることになる。 で、1.414秒の間にxを10まで移動して、yを10まで移動させればいいわけだ。 x1,y1=0,0からx2,y2=10,100 でも計算は同じ √(x^2+y^2) = √{ (x2-x1)^2 + y2-y1)^2 } = 100.498 が距離、その移動に必要な時間は10.0498秒 xの移動距離は10なので10.0498秒の間に10移動させるようにする。 yの移動距離は100なので10.0498秒の間に10移動させるようにする。 自分はゲームプログラミングの経験ないので実際のコーディングまではアドバイスできないけど、 xとyを同時に到着させるようにするためには、「10進むのに1秒」というのは最大値としてであって 「1進むのに1秒かける」というのも考えないといけない。 人間には0.049秒の違いなんて分からないからxを1秒で1進めるのと同時にyを1秒で10進めればいい感じになるんじゃないかな。
|