中心点を基準にしていくつかのビットマップをアニメーション化しようとしています。すべてがその中心点から始まるわけではありませんが、その中心点からの力がそれらにぶつかり、放射状に外側に押し出されて、ステージから完全に飛び出すように飛んでほしいと思います。
だから:私は中心点と、その周りに配置された各ビットマップのxとyの位置を知っています。それぞれについて、中心からそのx、y点まで線を引くことができます。そうすれば、その線が水平に対して形成する角度を取得し、その線のさらに外側に目的地を設定できるはずです。ビットマップはその時点までトゥイーンアウトされます。それがMath.atan2の目的だと思います。
ビットマップの配列を反復処理するときに得られるものは次のとおりです(iはオブジェクトです)。
var angle:Number = Math.atan2(i.bitmap.y - centerY, i.bitmap.x - centerX) * 180 / Math.PI;
var dist:Number = 200; //arbitrary number, just to test
destX = centerX + dist * Math.cos(angle); //destination x
destY = centerY + dist * Math.sin(angle); //destination y
これらのものが放射状に滑る代わりに、それらは飛び回っています。
私はatan2と私が間違っていることを正確に理解するのに苦労しています。
ありがとう、
デビッド