У меня есть меню, прикрепленное к слою. В меню 4 элемента выровнены по вертикали. Я decleare меню таким образом (Предупреждение Это Javascript Использование cocos2d-html5, структура такая же, как на Iphone!.):Странное поведение convertToWorldSpace для MenuItems в CCMenu
menuHeight = sumofMenuItemsHeight(CategoryMiniSpriteArray);
var newMenu = cc.Menu.create(CategoryMiniSpriteArray);
newMenu.setAnchorPoint(cc.PointMake(1,1));
newMenu.setPosition(cc.PointMake(
ScreenSize.width, ScreenSize.height - (menuHeight/2)
));
newMenu.alignItemsVertically();
После того, что в какой-то момент в программе, я хочу, чтобы получить абсолютное координаты элементов меню относительно экрана. И я исполню этот код:
var itemPosition = miniSprite.convertToWorldSpace(miniSprite.getPosition());
Я получаю очень странное поведение. Координата X полностью соответствует реальному положению. Если я пытаюсь поставить так:
sprite.setPosition(itemPosition);
другого спрайт, что координаты X идеально выровнена с пунктами меню. Проблема Y. Для каждого MenuItem я получаю сдвинутый Y, но это еще не все. Разность Y между элементами меню в 2 раза превышает высоту меню. Таким образом, не только сдвиг Y, но даже сдвиг между элементами. Что я делаю неправильно? Это не WorldSpace.