2013-11-12 1 views
0

У меня есть дуга инстанцированный как это:Вращение дуги вокруг центра в EaselJS

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); 

И я хочу, чтобы повернуть его вокруг центра, как если бы были выполнены все остальные дуги. Это, кажется, вращается вокруг точки 0,0, если круг содержатся в прямоугольнике при использовании SetTransform:

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

Любая помощь будет оценена.

ответ

3

Вращение вокруг точки (0,0), потому что даже если ваша дуга нарисована на (CONSTANTS.WIDTH/2, CONSTANTS.HEIGHT/2), ваше положение фигуры все еще (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»:

arc.rotation = angle; 

Вот пример: http://jsfiddle.net/JTqvJ/40/, надеюсь, что это поможет.

+0

Работает отлично, спасибо! – Tarrence

 Смежные вопросы

  • Нет связанных вопросов^_^