Cocos2d JS HTML5

Я хочу повернуть это изображение в cocos2d Java-скрипте HTML5. Верхний и нижний круги — два разных спрайта. Я использую этот код:

var RotationAmount=0;
Top=cc.Sprite.create("Assets/Top.png");
Top.setPosition(MidX,MidY+100);
Top.schedule(function(){
    if(RotationAmount>360)
        RotationAmount=0;
});
    this.addChild(Top);

Вот как выглядят мои спрайты:

Спрайты

Вышеприведенное приводит к тому, что мой спрайт начинает вращаться вокруг себя. Я хочу заставить его вращаться вокруг точки, так где же я ошибаюсь?


person Adnan Afzal    schedule 14.07.2015    source источник


Ответы (1)


Вы можете сделать следующее:

var Top = cc.Sprite.create("Assets/Top.png");
var rotateAction = cc.RotateBy.create(0, 1);

 Top.attr({
     x: MidX,
     y: MidY,
     anchorX: 0.5,
     anchorY: 0.5
 });

Top.schedule(function() {
  Top.runAction(rotateAction);
});

this.addChild(Top);
person Anton Duzhnov    schedule 11.08.2015
comment
Хорошие ответы дают объяснение, а не только код. Не могли бы вы отредактировать это, чтобы объяснить, почему это решает проблему? - person Mogsdad; 11.08.2015
comment
спасибо, пользователь 2351606......работает.... расскажите подробнее о вашем коде! - person Adnan Afzal; 13.08.2015
comment
Я создаю действие «rotateAction» для поворота спрайта на 1 градус. Задать для спрайта атрибуты: (x,y) - позиция, (anchorX, anchorY) - точка поворота. И запустить действие для спрайта. - person Anton Duzhnov; 13.08.2015