0

カスタム プレーヤーで再生できる形式に Flash アニメーションをエクスポートするために、JSFL でエクスポーターを作成しています。エクスポータは基本的に、タイムラインと各キーフレームのすべての要素を反復処理し、要素に関する情報 (位置、回転、スケールなど) を書き出します。

特定の要素から回転を取得する際に問題があり、NaN として出力されます。これの最も一般的な原因は、要素が反転された場合 ([変更] -> [変形] -> [水平方向に反転]) ですが、他の状況でも発生する可能性があると思います。これまで、 someElement.rotation が NaN の場合、 someElement.rotation の代わりに someElement.skewX を書き出すことで問題を回避してきました (反転が発生したかどうかを検出しようとする関連コードの一部については、こちらを参照してください)。

そのような場合、skewX 値は回転に期待する値と同じであるため、これはこれまでのところ機能しています。しかし、今は、回転だけでなく歪んだ要素のエクスポートをエクスポーターで処理できるようにしたいので、回転には適切な値が必要です。Flash から適切な回転値を抽出するにはどうすればよいですか? 行列から回転値を取得したり、そもそも回転が NaN になるのを止めたりするためにできることはありますか?

4

1 に答える 1

0

オブジェクトの行列から回転角度を取得する方法を見つけました。

element = someobject;
//Angle in radians
var angle = Math.atan2(element.matrix.b, element.matrix.a);
//convert to degrees
var degrees = angle * 180 / Math.PI;

オブジェクトが歪んでいる場合、これが考慮されているかどうかはわかりません。

回転行列から角度を抽出 (inkscapeforum.com)

于 2012-06-21T06:19:49.453 に答える