0

次のようにインスタンス化されたアークがあります。

Var arc = new createjs.Shape();
arc.graphics.beginStroke('#6d6e71')
                .setStrokeStyle(16)
                .arc(CONSTANTS.WIDTH/2, CONSTANTS.HEIGHT/2, 250, 0 + doorPosition, Math.PI/5 + doorPosition);

そして、円弧の残りの部分が完成したかのように、中心を中心に回転させたいと思います。setTransform を使用すると、円が長方形に含まれていた場合、0,0 点を中心に回転するように見えます。

arc.setTransform(0, 0, 1, 1, angle);

どんな助けでも大歓迎です。

4

1 に答える 1

3

円弧が (CONSTANTS.WIDTH/2, CONSTANTS.HEIGHT/2) に描画されていても、形状の位置は (0,0) のままであるため、回転は (0,0) ポイントを中心に行われます。代わりに、シェイプを の前に配置します。

var arc = new createjs.Shape();
arc.x = CONSTANTS.WIDTH/2;
arc.y = CONSTANTS.HEIGHT/2;
arc.graphics.beginStroke('#6d6e71')
            .setStrokeStyle(16)
            .arc(0,0, 250, 0 + doorPosition, Math.PI/5  + doorPosition); 

円弧を回転させたいだけの場合は、「setTransform」を使用する代わりに「rotation」プロパティを変更するだけです。

arc.rotation = angle;

例を次に示します: http://jsfiddle.net/JTqvJ/40/、これが役立つことを願っています。

于 2013-11-12T09:14:27.320 に答える