0

私は4つのセクターを持つ円を持っています。セクター 1 と 3 をクリックすると、円は特定の角度、たとえば時計回りに 45 度回転し、セクター 2 と 4 をクリックすると、円は反時計回りに同じ角度だけ回転します。kineticJS の transitionTo メソッドを使用してそれを行うには?

私は使っている

    sector1.on("click", function() {
    circle.transitionTo({
                rotation: Math.PI/4,
                duration: 1

            });
     });

    sector2.on("click", function() {
    circle.transitionTo({
                rotation: -Math.PI/4,
                duration: 1

            });
     });

しかし、最初のクリック後にトランジションが機能していないようです。一貫性のない回転の理由を誰か教えてもらえますか...回転ごとにキネティックレイヤーのコンテキストを保存する必要がありますか???

4

1 に答える 1

0

最初のクリックでしか機能しないように見える理由は、円を特定の角度に回転するように指示しているためです。現在の角度に Math.PI/4 を追加して、毎回新しい角度に回転するように指示する必要があります。

circle.transitionTo({
            rotation: circle.getRotation() + Math.PI/4,
            duration: 1
        });
 });

違いを示す小さなデモを含む jsfiddle を次に示します: http://jsfiddle.net/johnwiseman/WuZNg/

于 2012-07-21T17:02:08.237 に答える