0

私はadobeairインタラクティブテーブルプロジェクトに取り組んでおり、いくつかの回転をトゥイーンしようとしています。ほとんどの場合は正常に動作しますが、バージョンの周りを少し回転して反対方向に回転することもあります。フラッシュトゥイーンでこれを防ぐ良い方法はありますか?

私のコードの抜粋:

var rotatePos:Number;
        if (event.rotation > 180) { rotatePos = event.rotation - 360; } else { rotatePos = event.rotation; }
        var rotateDifference:Number = Math.abs(Math.abs(rotatePos) - Math.abs(Number(rotationCurrent[tempCircleNumber])));
        if ( rotateDifference > 4 && rotateDifference < 60) {
            rotateTheFiducial();
        } else if ( rotateDifference > 100 ) {
            trace("too far, ignore : " + rotateDifference);
        }
        function rotateTheFiducial():void
        {
            try
            {
                var cardTweenRotation:Tween = new Tween(MovieClip(fiducialArray[tempCircleNumber]), "rotation", Regular.easeOut, Number(rotationCurrent[tempCircleNumber]), rotatePos, .2, true);

                rotationCurrent[tempCircleNumber] = rotatePos;

            }
            catch (e:Error)
            {
                trace(fiducialId + " : Rotate Error : " + e);
            }
        }
4

2 に答える 2

1

Regular.easeOutは、上記の動作を実行することになっています。

時々、イージングで複数のトゥイーンを持っている間、フラッシュは最終的なポイントさえ逃します。

したがって、イーズアウトを使用する必要がある場合は、最終ポイントを手動で設定するトゥイーンコンプリートイベントを追加します。

それ以外の場合はNone.easeNoneを使用します

于 2012-12-11T03:57:01.117 に答える
0

Flashに組み込まれているTweenエンジンの使用は避けてください。その遅く、肥大化していて、本当に便利なものがたくさん欠けています。

TweenLite / TweenMax以上を使用してみてください。どちらにも、直面しているような短い回転のための機能が組み込まれています。デフォルトのTweenエンジンを使用するよりも高速です。(ここで見ることができるように)

そのような短い回転の問題を分類できるだけでなく、そのうちの1つを使用するとアプリが高速になります:-)

于 2012-12-11T16:41:23.773 に答える