RotateBy Anchorpoint не влияет на вращение

В Cocos2d (Android, JAVA) я использую CCRotateBy, чтобы вращать один CCNode с несколькими плитками в нем как дочерние. Я хочу использовать центр центральной плитки в качестве точки вращения, поэтому я решил использовать Anchorpoint.

Тем не менее, не имеет значения, какое значение я придаю Anchorpoint, плитки продолжают вращаться вокруг нижней левой части моего экрана. Как так?

(плитки - это CCNodes, собранные в два списка, tileSelected и secondTilesSelected)

            // I create one node which holds all the tiles I want to rotate
            CCNode tilesToRotate = CCNode.node();

            tilesToRotate.addChild(tilesSelected.get(0), 0, 99);
// then, I add the 4 tiles around the previous, center tile

            for (int i=0; i < secondaryTilesSelected.size(); i++){

                tilesToRotate.addChild(secondaryTilesSelected.get(i), 0, 99);
            }
            // So, if I change 700,700 hereunder to different values, it doesn't change the centerpoint for Rotation. I guess I don't get it...

            addChild(tilesToRotate);
            tilesToRotate.setAnchorPoint(CGPoint.make(700,700));
            CCAction r90 = CCRotateBy.action(1f, 90f);
            tilesToRotate.runAction(r90);

1 ответ

Решение

anchorPoint - это коэффициент в диапазоне от 0,0 (нижний левый угол) до 1,1 (верхний правый угол содержимого)

Вы устанавливаете якорь слишком далеко от узла на 700 700

Другие вопросы по тегам