斜め移動

なんか、等速で斜め移動をする為には、sin,cosを使わなければならないと言ってくる人がいました。
その人のやろうとしている斜め移動は、移動元と移動先が(移動中は)固定されているので、斜めの距離を速度で割った値が移動回数なので、Xの距離とYの距離を移動回数で割れば、それぞれの1回の移動量が出るので、等速で移動することが出来るようになります。
まあ、斜めの距離を調べる為に、sqrtが必要になるわけですけど、sinやcosを生成する為のコードよりは軽いので、たいした問題ではないでしょう。


移動先が常に移動しているような場合は、Xの距離とYの距離の大きい方には移動速度をそのまま足して、そうじゃない方には、移動速度を大きい方の距離で割った値(比率)が同じになるような値にしてやれば、sin,cosを使わずに処理することが可能です。
DDAっぽいやり方なので、斜め移動が速くなってしまうのが難点ですが……(;´Д`)


まあ、絶対sin,cosを使うなとは言いませんけど、単純な計算で出来る問題であるかどうかぐらい、少しは考えて欲しいものです。


そう言う自分も、携帯ゲームを作る場合以外は考えてないわけですが(;´Д`)